列表中的字典排序
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就可以了,因为函数的逻辑比较简单这样可以节约代码行数。
反对极端面向过程编程思维方式,喜欢面向对象和设计模式的解读,喜欢对比极端面向过程编程和oop编程消耗代码代码行数的区别和原因。致力于使用oop和36种设计模式写出最高可复用的框架级代码和使用最少的代码行数完成任务,致力于使用oop和设计模式来使部分代码减少90%行,使绝大部分py文件最低减少50%-80%行的写法。