我有一个字典列表,希望每个项目都能按特定的属性值排序。
考虑到下面的数组。
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
当按 "姓名 "排序时,应该成为
[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]
my_list = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
my_list.sort(lambda x,y : cmp(x['name'], y['name']))
my_list
现在将是你想要的样子。
(3年后)编辑补充:
新的key
参数更有效,更整齐。 一个更好的答案现在看起来像。
my_list = sorted(my_list, key=lambda k: k['name'])
...在我看来,这个lambda比operator.itemgetter
更容易理解,但是YMMV。