使用 Python 匿名函数 (lambda 表达式) 对列表进行排序

本文将介绍如何使用 Python 的匿名函数 (lambda 表达式) 对包含字典的列表进行排序。

示例列表:

students = [
    {'name': 'TOM', 'age': 20},
    {'name': 'ROSE', 'age': 19},
    {'name': 'Jack', 'age': 22}
]

1. 按 name 键升序排序

students.sort(key=lambda x: x['name'])
print(students)  # 输出 [{'name': 'Jack', 'age': 22}, {'name': 'ROSE', 'age': 19}, {'name': 'TOM', 'age': 20}]

2. 按 name 键降序排序

students.sort(key=lambda x: x['name'], reverse=True)
print(students)  # 输出 [{'name': 'TOM', 'age': 20}, {'name': 'ROSE', 'age': 19}, {'name': 'Jack', 'age': 22}]

3. 按 age 键升序排序

students.sort(key=lambda x: x['age'])
print(students)  # 输出 [{'name': 'ROSE', 'age': 19}, {'name': 'TOM', 'age': 20}, {'name': 'Jack', 'age': 22}]

解释:

  • sort() 方法用于对列表进行排序。
  • key 参数指定排序的依据,使用匿名函数 (lambda 表达式) 来访问字典中的特定键值。
  • reverse 参数用于指定排序顺序,True 表示降序排序,False 或省略表示升序排序。

总结:

本文演示了使用 Python 的匿名函数 (lambda 表达式) 对包含字典的列表进行排序,并解释了代码背后的原理。这为使用 sort() 方法进行更复杂、定制化的排序提供了参考。


原文地址: https://www.cveoy.top/t/topic/nJer 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录