此线程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