📅  最后修改于: 2023-12-03 15:04:16.829000             🧑  作者: Mango
在 Python 中,我们可以使用 sorted()
函数来对字典数组按照其中的值进行排序。
假设我们有以下字典数组:
d = [{'name': 'Alice', 'age': 24}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 30}]
如果我们想按照字典中的 age
值进行排序,可以使用如下代码:
sorted_d = sorted(d, key=lambda x: x['age'])
排序结果:
[{'name': 'Bob', 'age': 20}, {'name': 'Alice', 'age': 24}, {'name': 'Charlie', 'age': 30}]
sorted()
函数的参数:
iterable
:需要排序的可迭代对象。key
:用来指定排序的关键字。我们可以传入一个函数作为参数,该函数接收一个元素作为参数并返回一个用于排序的值。示例中的 key
参数使用了 lambda
表达式,我们也可以使用自定义函数:
def get_age(d):
return d['age']
sorted_d = sorted(d, key=get_age)
如果我们想按降序排列,可以使用参数 reverse
:
sorted_d = sorted(d, key=lambda x: x['age'], reverse=True)
排序结果:
[{'name': 'Charlie', 'age': 30}, {'name': 'Alice', 'age': 24}, {'name': 'Bob', 'age': 20}]
通过 sorted()
函数,我们可以方便地对字典数组按照指定的值进行排序。同时,我们也可以指定排序顺序。