时间:2021-05-22
通过键查值比较容易,通过值反查键就稍微麻烦点,这里给大家提供点思路。
由于值是可以重复的,所以分成两种情况给大家展示:
第一种是值唯一的情况直接构造列表,通过value的索引取对应的key。
第二种是值不唯一的情况,需要通过for遍历出所有的索引然后查出所有对应的key。
如果你需要打印所有满足查询值所对应的key,选第二种;
如果你只需要打印首次出现查询值所对应的key,选第一种。
代码如下:
#假如值唯一mydisc = {'key1':'123', 'key2':'234', 'key3':'345'}get_value = input('请输入要查值:')if get_value in mydisc.values(): print(list(mydisc.keys())[list(mydisc.values()).index(get_value)])else: print('你要查询的值'+get_value+'不存在')# 假如值不唯一mydisc = {'key1':'123', 'key2':'234', 'key3':'345','key5':'123'}get_value = input('请输入要查值:')if get_value in mydisc.values(): for a in range(0,len(mydisc)): if list(mydisc.values())[a]==get_value: print(list(mydisc.keys())[a])else: print('你要查询的值'+get_value+'不存在')有些同学对这段不理解
我这里给大家解释下,为方便理解,我们拆解为
A[B.index(get_value)]
其中:
A=list(mydisc.keys())
B=list(mydisc.values())
知识点一:mydisc.keys()——取出字典mydisc的所有key
知识点二:list(list)——将list转化为列表,列表的好处就是有序,所以能通过list[index]取元素
所以A是将字典mydisc所有Key取出并用list()方法构建一个“键列表”,A=[‘key1', ‘key2', ‘key3']
同理B是将字典mydisc所有Value取出并用list()方法构建一个“值列表”,B=[123,234,345]
这个时候我们只需要知道get_value在B中的索引,然后找到A中对应索引的元素即可。
知识点三:list.index(x)——返回元素x在list中的索引(如果list中存在多个重复的x,会返回首次出现的索引)
所以B.index(get_value)的意思是返回get_value在B列表中的索引
知识点四:list[x]——取list中第x个元素的值
A[B.index(get_value)]就将get_value的键取出了。
这里是充分利用了列表的一些语法并糅合在一起,是一种简洁的通过值取键写法,仅供大家学习交流。
到此这篇关于python字典通过值反查键的实现(简洁写法)的文章就介绍到这了,更多相关python字典值反查键内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python字典中,值可任意更改;但键是唯一的,不支持直接修改。若真的需要修改字典中的键,可通过几种间接方式实现。新建空白字典。info={}给字典添加键-值对
前言Python字典update()方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。语法格式d.update(e)参数说
python中字典的值是可以被修改的,首先我们得知道什么是修改字典修改字典向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:#!/usr
本文实例讲述了Python实现查找两个字典相同点的方法。分享给大家供大家参考,具体如下:问题:寻找两个字典中间相同的地方(相同的键、相同的值等)解决方案:通过k
本文实例讲述了Python在字典中将键映射到多个值上的方法。分享给大家供大家参考,具体如下:问题:一个能将键(key)映射到多个值的字典(即所谓的一键多值字典[