2012-05-10 6 views
-2

私はオブジェクトのリストを持っています。すべてのオブジェクトは、値が低、中、高の属性 "優先度"を持っています。オブジェクトのリストをソートして、優先度が "高く"オブジェクトは優先度が「中」で、最後は優先度が「低」のオブジェクトです。私はいくつかのforループを使用してこれを行うことができますが、高速で効果的なpythonicソリューションが欲しいですが、私はPythonの初心者です。属性の3つの異なる値に基づいて、Pythonでオブジェクトのリストをソートする?

+0

http://wiki.python.org/moin/HowTo/Sorting – San4ez

答えて

5
score = dict(high=0, medium=1, low=2) 
mylist.sort(key=lambda x: score[x.priority]) 
0

ありがとうございます。 pythonの解決策のためにupvoted。

ソート済みバリアントを使用しました。

sorted(myList, key = lambda x : score[x.priority]) 
関連する問題