列表中的字典排序

list1 = [
{'age': 4, 'name': '李四', 'sex': 1},
{'age': 5, 'name': '王五', 'sex': 1},
{'age': 6, 'name': '赵六', 'sex': 1},
{'age': 3, 'name': '张三', 'sex': 1},
{'age': 3, 'name': '张小三', 'sex': 0},
]
print (sorted(list1, key=lambda dictx: (dictx['age'], dictx['sex']),reverse=False))
print (sorted(list1, key=lambda dictx: (dictx['age'], dictx['sex']),reverse=True))

print (max(list1, key=lambda dictx: (dictx['age'],dictx['sex'])))
print (min(list1, key=lambda dictx: (dictx['age'],dictx['sex'])))

1、列表中的元素优先按年龄排序,年龄相同时候按性别排序。
2、或者直接找出最大最小值。
3、key是一个函数名。一般用lamada就可以了,因为函数的逻辑比较简单这样可以节约代码行数。
原文地址:https://www.cnblogs.com/ydf0509/p/9128908.html