使用 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 作为两个参数再次对字典列表进行排序。
输出显示在控制台上。
广告