我正在尋找做好以下更Python的方式通知內的字典值(按鍵)來排序對象的列表。Python的方式通過包含對象
考慮:
class MyObj(object):
def __init__(self):
self.dict_properties = {}
假設我有一個包含多個MyObj中實例的列表:
mylist = [<__main__.MyObj object at 0x1005e3b90, ...]
現在我想根據某些關鍵的dict_properties
在價值排序mylist
MyObj中。
什麼工作是:
mylist.sort(lambda x,y: cmp(x.dict_properties['mykey'],
y.dict_properties['mykey']))
但幾乎感覺Python的。
有沒有更好的方法(可能使用operator.attrgetter
)?
標籤不上問的人的水平的反映。沒有人聲稱你是初學者Christophe,但是在任何一天,至少有幾個問題要求**與你的**完全相同,因爲答案可以很容易地在文檔中找到,因此是一個需要標記[新手]的問題。請停止移除此標記。謝謝。 – SilentGhost 2010-01-18 12:44:39
如果你懷疑我對頻率或重複的要求請查看:http://stackoverflow.com/questions/tagged/python+sorting – SilentGhost 2010-01-18 12:48:11
我就需要在這個問題上「初學者」標記了不同意見:不像大多數這種類型的其他問題,我提供了一個工作方式來做到這一點,然後特別要求以更「pythonic」的方式做到這一點的替代/其他方式。似乎答案是顯而易見的(答案中只有一種方法),儘管我沒有立即想到這應該是最乾淨的方式=。但是我只會留下標籤,因爲我對(進一步)回滾/編輯戰爭沒有興趣。 – ChristopheD 2010-01-18 19:45:32