python 字典值排序
时间: 2024-01-19 08:18:18 浏览: 37
以下是两种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字典值排序
在 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字典按值排序
可以使用sorted函数和lambda表达式来按字典值排序,示例如下:
```python
my_dict = {'a': 5, 'b': 2, 'c': 8, 'd': 1}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[1]))
print(sorted_dict)
```
输出:
```
{'d': 1, 'b': 2, 'a': 5, 'c': 8}
```
解释:
- sorted(my_dict.items(), key=lambda item: item[1]):使用sorted函数对字典项按值排序,key指定了排序规则,这里使用lambda表达式根据item的第二个元素(即字典的值)排序;
- dict(sorted_dict):将排序后的元组列表转换为字典。