怎样根据字典的值返回相应键
时间: 2023-08-05 14:08:50 浏览: 44
可以使用字典的items()方法将字典转换成一个包含(key, value)元素的元组列表,然后遍历这个列表,根据值找到相应的键。
下面是一个示例代码:
```
# 定义一个字典
my_dict = {'apple': 2, 'banana': 4, 'orange': 3}
# 根据值查找键
def find_key(d, val):
for k, v in d.items():
if v == val:
return k
return None
# 测试
print(find_key(my_dict, 4)) # 输出 'banana'
print(find_key(my_dict, 5)) # 输出 None
```
这个代码定义了一个find_key()函数,它接受一个字典和一个值作为输入,返回字典中对应的键。如果没有找到,返回None。
相关问题
Pyrhon根据字典值返回字典键名
可以通过遍历字典的键值对来找到对应的键名。例如,以下是一个示例字典和一个函数,该函数根据字典的值返回对应的键名:
```python
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
def get_key(val):
for key, value in my_dict.items():
if val == value:
return key
print(get_key(2)) # 输出 'banana'
```
在这个示例中,`get_key()` 函数遍历字典的键值对,如果找到对应的值,则返回相应的键名。在这个例子中,函数返回 'banana',因为对应的值为 2。
按照排序后的值来获取相应的键返回字典结果
可以使用 Python 中的 OrderedDict 模块来实现。OrderedDict 可以在添加元素时按照添加的顺序来排列字典的键,也可以通过使用 sorted 函数对字典的键进行排序。
以下是一个示例代码,可以根据字典中的值来排序并返回相应的键:
```python
from collections import OrderedDict
# 构造一个包含不同值的字典
my_dict = {'apple': 3, 'banana': 2, 'orange': 4, 'grape': 1}
# 使用 sorted 函数对字典的键进行排序
sorted_keys = sorted(my_dict, key=my_dict.get)
# 构造一个新的 OrderedDict,按照排序后的键添加元素
sorted_dict = OrderedDict()
for key in sorted_keys:
sorted_dict[key] = my_dict[key]
# 输出排序后的字典
print(sorted_dict)
```
输出结果如下:
```
OrderedDict([('grape', 1), ('banana', 2), ('apple', 3), ('orange', 4)])
```
这个示例代码首先使用 sorted 函数对字典的键进行排序,其中 key 参数指定排序依据为字典中键对应的值。然后使用一个新的 OrderedDict 对象,按照排序后的键依次将原字典中的元素添加到新字典中,最终返回排序后的字典。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)