首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python使用lambda对列表或字典按多个键排序

时,可以使用内置函数sorted()sort(),以及itemgetter()函数来实现。

对列表按多个键排序:

  1. 使用sorted()函数,结合lambda表达式和多个键,对列表进行排序。lambda表达式中使用元组来指定多个键的顺序和排序方式。my_list = [{'name': 'Alice', 'age': 25, 'score': 90}, {'name': 'Bob', 'age': 30, 'score': 80}, {'name': 'Charlie', 'age': 20, 'score': 95}] sorted_list = sorted(my_list, key=lambda x: (x['name'], x['age'], x['score'])) print(sorted_list)输出:[{'name': 'Alice', 'age': 25, 'score': 90}, {'name': 'Bob', 'age': 30, 'score': 80}, {'name': 'Charlie', 'age': 20, 'score': 95}]推荐的腾讯云相关产品:无

对字典按多个键排序:

  1. 使用sorted()函数,结合lambda表达式和多个键,对字典进行排序。lambda表达式中使用元组来指定多个键的顺序和排序方式。my_dict = {'Alice': 25, 'Bob': 30, 'Charlie': 20} sorted_dict = dict(sorted(my_dict.items(), key=lambda x: (x[0], x[1]))) print(sorted_dict)输出:{'Alice': 25, 'Bob': 30, 'Charlie': 20}推荐的腾讯云相关产品:无

需要注意的是,以上示例中的排序方式为默认的升序排序。如果需要降序排序,可以在lambda表达式中使用-符号来指定降序排序。

例如,对列表按多个键降序排序:

代码语言:python
代码运行次数:0
复制
sorted_list = sorted(my_list, key=lambda x: (-x['score'], x['age'], x['name']))

输出:

代码语言:txt
复制
[{'name': 'Charlie', 'age': 20, 'score': 95},
 {'name': 'Alice', 'age': 25, 'score': 90},
 {'name': 'Bob', 'age': 30, 'score': 80}]

以上是使用lambda对列表或字典按多个键排序的方法和示例。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券