python字典由value查key的三种方法

参考:
https://blog.csdn.net/ywx1832990/article/details/79145576
字典:

student = {'小萌': '1001', '小智': '1002', '小强': '1003', '小明': '1004'}

方法1

把字典列表化

list (student.keys()) [list (student.values()).index ('1004')]
'小明'

方法2

def get_key (dict, value):
    return [k for k, v in dict.items() if v == value]
get_key (student, '1002')

在这里插入图片描述

方法3

把字典的key与val互换。

new_dict = {v : k for k, v in student.items()}

new_dict ['1001']
'小萌'

上面提到的三种方法其实作用很大,远不止就标题提到的功能。建议记忆下来,涉及到字典操作的时候大概率会用到这些操作。

  • 50
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可以使用字典的items()方法字典转换为可迭代的键值对,然后通过遍历字典的键值对,到对应的值所对应的键。代码示例如下: ```python # 定义一个字典 my_dict = {'apple': 1, 'banana': 2, 'orange': 3} # 定义要询的值 value = 2 # 遍历字典的键值对,到对应的值所对应的键 for k, v in my_dict.items(): if v == value: print(k) ``` 输出结果为: ``` banana ``` ### 回答2: python字典是一种无序的数据结构,其中包含了键值对(key-value pair)。在使用字典时,我们经常需要根据值来询对应的键。比如说,我们有一个存储学生姓名和成绩的字典grades,我们需要根据成绩询对应的学生姓名。这时我们就可以使用python字典valuekey的功能。 具体地说,要实现valuekey的功能,我们可以使用python的内置函数items()和for循环遍历字典中的键值对。在遍历过程中,如果发现当前值等于我们要的值,我们就可以返回该键。 具体的代码如下: ``` #定义一个包含学生姓名和成绩的字典 grades = {'Tom':90, 'Jerry':80, 'Spike':70} #定义一个函数,实现valuekey的功能 def get_key(dic, value): for k, v in dic.items(): if v == value: return k return None #测试函数 print(get_key(grades, 80)) ``` 运行结果为: ``` Jerry ``` 可以看到,我们成功地根据成绩80询到了学生Jerry的姓名,得到了我们想要的结果。 需要注意的是,如果字典中存在相同的值,那么上述代码只返回了第一个匹配到的键。如果我们需要询所有匹配的键,可以将结果放到列表中返回。另外,为了防止询失败,我们还可以通过在函数中添加一个默认返回值None来避免出现KeyError异常。 总之,python字典valuekey的功能非常实用,可以帮助我们快速地询到指定的键,提高编程效率。 ### 回答3: Python字典是一种无序集合数据类型,它是由一系列键(key)和值(value)组成。在Python中,我们可以通过字典的键来到其相应的值,但是如果我们想要通过字典的值来询相应的键,怎么办呢? Python提供了从字典的值对应键的几种方法。下面简单介绍一下这些方法: 1.遍历字典对应键 我们可以通过遍历字典其值所对应的键,代码如下: ```python #定义一个字典 dict = {'a': 'apple', 'b': 'banana', 'c': 'cherry'} #询值为'banana'对应的键 for key, value in dict.items(): if value == 'banana': print(key) ``` 这段代码输出的结果是'键b'。通过遍历字典,我们可以到其值所对应的键。 2.使用列表推导式对应键 我们还可以使用列表推导式来字典中值所对应的键,代码如下: ```python #定义一个字典 dict = {'a': 'apple', 'b': 'banana', 'c': 'cherry'} #询值为'banana'对应的键 key_list = [key for key, value in dict.items() if value == 'banana'] print(key_list[0]) ``` 这段代码输出的结果同样是'键b'。通过列表推导式,我们可以在一行代码中完成这个任务。 3.使用函数对应键 除了上述方法Python还提供了一个内置函数用来字典中值所对应的键,这个函数就是dict()方法。我们可以通过在函数中传入值,来得到其所对应的键,代码如下: ```python #定义一个字典 dict = {'a': 'apple', 'b': 'banana', 'c': 'cherry'} #询值为'banana'对应的键 key = list(dict.keys())[list(dict.values()).index('banana')] print(key) ``` 同样的,这段代码输出的结果是'键b'。 综上所述,Python提供了多种方法来从字典的值获取对应的键。我们可以通过遍历字典、使用列表推导式或使用内置函数来完成这个任务。其中,列表推导式的代码量最小,但是它有一定的限制,如果字典中有多个值相同的键,那么它仅能到其中一个键。因此,在使用时需要根据具体的场景选择合适的方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值