2012-05-10 73 views
-2

我有一個對象列表。每個對象都有一個屬性「優先級」,其值可以是低,中,高。我需要對對象列表進行排序,以便優先級爲「高」的對象首先出現在列表中,然後優先級爲「中」的對象,最後是優先級爲「低」的對象。我知道我可以使用少量for循環來完成此操作,但是我想要一個pythonic解決方案,它的速度和效率都很高。但是我是python的初學者。根據屬性的三個不同的值對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

非常感謝。贊成pythonic解決方案。

我使用了排序變體。

sorted(myList, key = lambda x : score[x.priority]) 
相關問題