假设我们有一个由字典组成的列表,每个字典都有一组相同的键。比如,我们有一个名为student的列表,其中包含多个字典,每个字典都包含名字、年龄和分数等键值对。
为了按照特定的键对字典进行排序,我们可以使用Python内置的sorted函数,利用key参数传递一个lambda函数来实现。
下面是一个例子,可以按照age键对student列表进行排序:
student = [
{'name': 'Alice', 'age': 21, 'score': 80},
{'name': 'Bob', 'age': 20, 'score': 70},
{'name': 'Charlie', 'age': 23, 'score': 90},
{'name': 'David', 'age': 22, 'score': 75}
]
sorted_student = sorted(student, key=lambda k: k['age'])
print(sorted_student)
输出结果为:
[
{'name': 'Bob', 'age': 20, 'score': 70},
{'name': 'Alice', 'age': 21, 'score': 80},
{'name': 'David', 'age': 22, 'score': 75},
{'name': 'Charlie', 'age': 23, 'score': 90}
]
在lambda函数中,我们传递了一个参数k,然后返回k['age']。这就告诉sorted函数根据每个字典的age键进行排序。
你还可以按照其他键排序,比如score、name等键。只需将lambda函数中的k['age']替换为你需要按照的键即可。
如果你需要按照多个键进行排序,可以在传递给sorted函数的key参数中使用元组。
假设我们需要按照分数score和年龄age的顺序对student列表进行排序,代码如下:
sorted_student = sorted(student, key=lambda k:
上一篇:按照键对数据进行聚合
下一篇:按照间隔拆分行-熊猫