2012-04-23 20 views
0

こんにちは、私は最もPythonの方法で順序付けられた基準に基づいて辞書のリストを注文したいと思います。その後順序付けられた条件に基づいてPython辞書のリストを並べ替える

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

、状況:基準は変数であり、例えば、私は[foo2は、FOO1、FOO8、FOO10]によって最初に注文したい、結果は次のようになり

[{'foo': FOO1}, {'foo': FOO2}, {'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}] 

種類は

答えて

4

あなたはlist.index()をしたいと考えています。

関連する問題