2012-04-23 3 views
0

안녕하세요, 가장 Pythonic 방식으로 정렬 된 기준에 따라 사전 목록을 주문하고 싶습니다. 예를 들어정렬 기준에 따라 파이썬 사전 목록 정렬

[{'foo': FOO1}, {'foo': FOO2}, {'foo': FOO10}] 
기준은, 예를 들어, I는 [FOO2, FOO1, FOO8, FOO10]에 의해 처음으로 주문 가변하고자한다

이 결과가 될 것이다 : 다음

[{'foo': FOO2}, {'foo': FOO1}, {'foo': FOO10}] 

상황 변화와 지금 우리가 또 다른 기준 [FOO2, FOO10, FOO1]를 가지고는, 결과는 다음과 같습니다

[{'foo': FOO2}, {'foo': FOO10}, {'foo': FOO1}] 

참고 : 기준은 항상 키 'foo에'에 관한 기호가됩니다.

아이디어가 있으십니까?

to_sort = [{'foo': FOO1}, {'foo': FOO2}, {'foo': FOO10}] 
to_sort.sort(key=lambda x: x....) 

편집 : 나는 그것을 알아 냈 :

>>> to_sort = [{'foo': FOO1}, {'foo': FOO2}, {'foo': FOO10}] 
>>> criteria = [FOO10, FOO2, FOO1] 
>>> to_sort.sort(key=lambda x: criteria.index(x['foo'])) 
>>> to_sort 
[{'foo': FOO10}, {'foo': FOO2}, {'foo': FOO1}] 

종류는

답변