python 词典按键值排序
时间: 2023-10-21 22:59:27 浏览: 41
要按键值对词典进行排序,可以使用以下代码:
```
my_dict = {'apple': 30, 'banana': 50, 'cherry': 20}
sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item[1]))
print(sorted_dict)
```
输出:
```
{'cherry': 20, 'apple': 30, 'banana': 50}
```
在这个例子中,我们使用了Python内置的`sorted()`函数和`lambda`函数来按值对词典进行排序。`sorted()`函数返回一个新的已排序的列表,而`dict()`函数将其转换回一个新的字典。
`sorted()`函数的`key`参数接受一个函数,该函数接受每个元素作为输入,并返回要排序的键。在这个例子中,我们使用`lambda`函数来获取每个元素的第二个值(即键值对中的值)作为键,并按此键对词典进行排序。
相关问题
python 字典 按键排序
Python中的字典是一种无序的数据结构,但是我们可以通过对键(key)或值(value)进行排序来达到排序的目的。对字典按键进行排序可以使用sorted()函数,该函数默认按照键(key)从小到大排序。对字典按值进行排序也可以使用sorted()函数,需要使用lambda表达式指定按照值(value)进行排序。同时,我们还可以使用reverse参数来指定排序的顺序,True表示降序,False表示升序。
下面是一个示例代码:
```
dict_data = {'3': 11, '6': 9, '7': 6, '8': 2, '10': 5}
# 对字典按键进行排序(默认由小到大)
test_data_0 = sorted(dict_data.keys())
print(test_data_0) # [3, 6, 7, 8, 10]
# 对字典按值进行排序(默认由小到大)
test_data_1 = sorted(dict_data.items(), key=lambda x: x[1])
print(test_data_1) # [('8', 2), ('10', 5), ('7', 6), ('6', 9), ('3', 11)]
# 对字典按值进行排序(由大到小)
test_data_2 = sorted(dict_data.items(), key=lambda x: x[1], reverse=True)
print(test_data_2) # [('3', 11), ('6', 9), ('7', 6), ('10', 5), ('8', 2)]
```
python 字典按键值降序排列
你可以通过以下代码实现 Python 字典按键值降序排列:
```python
my_dict = {'a': 5, 'b': 10, 'c': 8}
sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[1], reverse=True))
print(sorted_dict)
```
输出:
```
{'b': 10, 'c': 8, 'a': 5}
```
其中,`sorted()` 函数的 `key` 参数指定了按照字典的键值进行排序,`reverse` 参数为 `True` 表示降序排列。最后通过 `dict()` 函数将排序后的元组转换为字典。