此線程How do I sort a list of dictionaries by values of the dictionary in Python?非常清楚地解釋瞭如何對字典列表進行排序。在摘要,如何對多個元素的字典列表進行排序
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
你這樣做:
newlist = sorted(list_to_be_sorted, key=lambda k: k['name'])
不過,我在我的字典更多的元素,我需要他們四個排序 - 不只是一個。任何提示如何做到這一點?
注:我還讀入線程,這個建議:
sortedlist = sorted(input, key=lambda elem: "%02d %s" % (elem['age'], elem['name']))
不起作用。它給出了錯誤:
TypeError: list indices must be intergers, not str
我嘗試了這個和各種版本無濟於事。
任何幫助表示讚賞,
這實際上對我的作品。你確定你輸入了'[{'name':'Homer','age':39},{'name':'Bart','age':10}]'? [雖然我會根據元組排序,而不是字符串。更簡單,更不容易出錯 - 比方說有一個100歲的人。] – DSM 2012-01-29 18:47:39
非常好的Python維基文檔:[Sorting Mini-How to](http://wiki.python.org/moin/HowTo/Sorting) – reclosedev 2012-01-29 18:53:36