这个帖子如何在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