python字典值排序
时间: 2023-09-16 21:10:29 浏览: 75
在 Python 中,可以使用 `sorted()` 函数来对字典的值进行排序。具体步骤如下:
1. 使用 `items()` 方法将字典转换为元素为键值对的元组列表;
2. 使用 `key` 参数指定排序的关键字,这里可以使用 `lambda` 表达式获取元组中的值;
3. 使用 `reverse` 参数指定排序顺序,如果需要降序排序,则将其设置为 `True`。
下面是一个示例代码:
```python
my_dict = {'a': 10, 'b': 5, 'c': 20, 'd': 15}
# 对字典的值进行升序排序
sorted_dict = sorted(my_dict.items(), key=lambda x: x[1])
print(sorted_dict)
# 对字典的值进行降序排序
sorted_dict_reverse = sorted(my_dict.items(), key=lambda x: x[1], reverse=True)
print(sorted_dict_reverse)
```
输出结果为:
```
[('b', 5), ('a', 10), ('d', 15), ('c', 20)]
[('c', 20), ('d', 15), ('a', 10), ('b', 5)]
```
相关问题
python 字典值排序
以下是两种Python对字典值进行排序的方法:
1. 使用sorted函数的key参数实现字典排序:
```python
student_dict = {'student_%d' % i: randint(50, 100) for i in range(1, 21)}
student_tuplelist_sorted = sorted(student_dict.items(), key=lambda x: x[1], reverse=True)
print(student_tuplelist_sorted)
```
2. 使用zip方法将字典转换为元组列表,然后使用sorted函数对元组列表进行排序:
```python
student_dict = {'student_%d' % i: randint(50, 100) for i in range(1, 21)}
student_tuplelist = list(zip(student_dict.values(), student_dict.keys()))
student_tuplelist_sorted = sorted(student_tuplelist, reverse=True)
print(student_tuplelist_sorted)
```
python字典按值排序
可以使用sorted函数和lambda表达式实现按值排序。示例代码如下:
```python
my_dict = {'a': 3, 'b': 2, 'c': 1}
sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[1]))
print(sorted_dict)
# Output: {'c': 1, 'b': 2, 'a': 3}
```
以上代码将字典my_dict按值从小到大排序,结果保存在sorted_dict中。
阅读全文