📜  python 按值对字典数组进行排序 - Python (1)

📅  最后修改于: 2023-12-03 15:04:16.829000             🧑  作者: Mango

Python 按值对字典数组进行排序

在 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() 函数,我们可以方便地对字典数组按照指定的值进行排序。同时,我们也可以指定排序顺序。