使用 lambda 函数在 Python 中按值对字典列表进行排序


如果需要按值对字典列表进行排序,可以使用 lambda 函数。

以下是同样的演示:

示例

 动态演示

from operator import itemgetter

my_list = [{ "name" : "Will", "age" : 56},
          { "name" : "Rob", "age" : 20 },
          { "name" : "Mark" , "age" : 34 },
          { "name" : "John" , "age" : 24 }]

print("The list sorted by age is : ")
print(sorted(my_list, key=lambda i: i['age']))

print("The list sorted by age and name is : ")
print(sorted(my_list, key=lambda i: (i['age'], i['name'])))

print("The list sorted by age in descending order is : ")
print(sorted(my_list, key=lambda i: i['age'],reverse=True))

输出

The list sorted by age is :
[{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will',
'age': 56}]
The list sorted by age and name is :
[{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will',
'age': 56}]
The list sorted by age in descending order is :
[{'name': 'Will', 'age': 56}, {'name': 'Mark', 'age': 34}, {'name': 'John', 'age': 24}, {'name': 'Rob',
'age': 20}]

说明

  • 定义字典元素列表,并在控制台上显示。

  • 使用 sorted 方法,并将键指定为“lambda”。

  • 使用 lambda 作为两个参数再次对字典列表进行排序。

  • 输出显示在控制台上。

更新于:17-4 月 -2021

1K+ 访问

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告