python lambda函数排序,两个排序依据
时间: 2023-07-28 16:37:20 浏览: 71
可以使用lambda函数对列表进行排序,lambda函数可以作为参数传递给列表的sort()方法或者sorted()函数。在lambda函数中,可以指定一个或多个排序依据。
例如,对于一个包含多个字典的列表,可以按照字典中某个键的值进行排序,也可以按照多个键的值进行排序。下面是两个排序依据的lambda函数示例:
按照字典中某个键的值进行排序:
```
list_dict = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 20}, {'name': 'Charlie', 'age': 30}]
list_dict.sort(key=lambda x: x['age']) # 按照年龄升序排序
```
按照多个键的值进行排序:
```
list_dict = [{'name': 'Alice', 'age': 25, 'score': 80}, {'name': 'Bob', 'age': 20, 'score': 90}, {'name': 'Charlie', 'age': 30, 'score': 70}]
list_dict.sort(key=lambda x: (x['age'], -x['score'])) # 按照年龄升序排序,分数降序排序
```
在第二个lambda函数中,使用了元组作为排序依据,先按照年龄升序排序,再按照分数降序排序。注意,如果要按照降序排序,可以在排序依据前加一个负号。
阅读全文