用lambda函数对字典排序是,我想先按照字典的值进行降序排序后,然后值相等的时候
时间: 2024-03-08 19:48:31 浏览: 62
Python实现字典按照value进行排序的方法分析
可以使用lambda函数进行多级排序,首先按照字典的值进行降序排序,然后如果值相等,再按照字典的键进行升序排序,例如:
```python
my_dict = {'apple': 5, 'banana': 2, 'orange': 4, 'pear': 3, 'grape': 5}
sorted_dict = sorted(my_dict.items(), key=lambda x: (-x[1], x[0]))
print(sorted_dict) # [('apple', 5), ('grape', 5), ('orange', 4), ('pear', 3), ('banana', 2)]
```
这里使用lambda表达式 `(-x[1], x[0])` 来进行多级排序,先按照字典的值进行降序排序,如果值相等,则按照字典的键进行升序排序。注意,sorted()函数返回一个排序后的元素列表,因此对于字典,我们需要先使用items()方法将其转化为元素列表,再进行排序。
阅读全文