python字典如何按照value值排序并输出对应的key
时间: 2023-06-27 15:06:26 浏览: 174
可以使用Python内置的sorted函数,以及lambda函数来对字典按照value值进行排序,并输出对应的key。具体代码如下:
```python
my_dict = {'apple': 10, 'banana': 5, 'orange': 20, 'pear': 8}
sorted_dict = sorted(my_dict.items(), key=lambda x: x[1])
for item in sorted_dict:
print(item[0])
```
首先,使用sorted函数对字典my_dict进行排序,排序的依据是字典中的value值,即key=lambda x: x[1]。
sorted函数返回的是一个元组列表,每个元组包含一个key-value键值对,因此可以通过item[0]来获取key值,从而输出排序后的key。
相关问题
python字典按照value排序
在Python中,可以使用内置的函数sorted()和lambda表达式来按照字典的value进行排序。具体的实现方法如下所示:
对于一个字典d,我们可以使用如下的代码来按照value进行递增排序:
sorted_d = sorted(d.items(), key=lambda x: x[1])
这里,使用了内置函数sorted()来对字典d的所有项按照value进行排序,其中key参数指定了排序依据,这里使用了lambda表达式来指定将每个项的value作为排序依据。
其中,sorted()函数的返回值是一个列表,其中每个元素是(d键, d值)的元组,代表了按照value排好序的字典d。
如果我们需要按照value进行递减排序,则可以使用如下的代码:
sorted_d = sorted(d.items(), key=lambda x: x[1], reverse=True)
在lambda表达式后面加上reverse=True参数,即可实现按照value进行递减排序。
需要注意的是,按照value排序的结果是一个列表,而不是一个字典,如果需要将其转换为字典,可以使用字典推导式,例如:
sorted_dict = {k: v for k, v in sorted(d.items(), key=lambda x: x[1])}
上述代码会将按照value排序好的列表转换为字典sorted_dict,其中每个元素的键和值都与排好序的列表项相同。
python 字典按照value排序
可以使用sorted函数对字典的value进行排序,然后再根据排序后的value来获取对应的key。具体实现可以参考以下代码:
```python
my_dict = {'a': 3, 'b': 1, 'c': 2}
# 按照value排序
sorted_dict = sorted(my_dict.items(), key=lambda x: x[1])
# 输出排序后的结果
print(sorted_dict)
# 根据排序后的value获取对应的key
sorted_keys = [x[] for x in sorted_dict]
# 输出排序后的key
print(sorted_keys)
```
输出结果为:
```
[('b', 1), ('c', 2), ('a', 3)]
['b', 'c', 'a']
```