使用元组键对Python字典列表进行排序
在Python中对字典列表进行排序可能一开始会让人感到困惑。特别是当你想要使用多个键进行排序时。幸运的是,sorted()
函数可以用来使用元组key
对字典列表进行排序。只需返回一个包含你想要按顺序排序的键的元组,sorted()
函数将完成剩下的工作。
friends = [
{"name": "John", "surname": "Doe", "age": 26},
{"name": "Jane", "surname": "Doe", "age": 28},
{"name": "Adam", "surname": "Smith", "age": 30},
{"name": "Michael", "surname": "Jones", "age": 28}
]
print(
sorted(
friends,
key=lambda friend:
(friend["age"], friend["surname"], friend["name"])
)
)
# 输出:
# [
# {'name': 'John', 'surname': 'Doe', 'age': 26},
# {'name': 'Jane', 'surname': 'Doe', 'age': 28},
# {'name': 'Michael', 'surname': 'Jones', 'age': 28},
# {'name': 'Adam', 'surname': 'Smith', 'age': 30}
# ]