我有一个字典列表,希望每个项目都按特定的属性值排序。
考虑下面的数组,
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
当排序name,应该成为
[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]
使用密钥而不是cmp看起来更干净:
newlist = sorted(list_to_be_sorted, key=lambda k: k['name'])
或如JFSebastian和其他人所建议的,
from operator import itemgetter newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
为了完整性(如fitzgeraldsteele的评论中指出的那样),请添加reverse=True降序排列
newlist = sorted(l, key=itemgetter('name'), reverse=True)