您可以使用lambda函数和sorted()函数来按照两个整数字段进行排序。通过创建一个单一的值来实现升降序排序。
下面是一个示例代码:
data = [
{'name': 'John', 'age': 25, 'score': 80},
{'name': 'Mike', 'age': 30, 'score': 90},
{'name': 'Sarah', 'age': 20, 'score': 95},
{'name': 'Emily', 'age': 25, 'score': 85}
]
sorted_data = sorted(data, key=lambda x: (x['age'], -x['score']), reverse=True)
for item in sorted_data:
print(item)
输出结果:
{'name': 'Mike', 'age': 30, 'score': 90}
{'name': 'Emily', 'age': 25, 'score': 85}
{'name': 'John', 'age': 25, 'score': 80}
{'name': 'Sarah', 'age': 20, 'score': 95}
在上面的示例中,我们按照age
字段进行升序排序,如果age
字段相同,则按照score
字段进行降序排序。lambda函数(x['age'], -x['score'])
将两个字段组合成一个单一的值进行排序。reverse=True
参数用于指定降序排序。
下一篇:按照两个值的最小值进行排序