知道字典的值,找到对应的键并处理
值唯一
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(len(mydisc)):
if list(mydisc.values())[a]==get_value:
print(list(mydisc.keys())[a])
else:
print('你要查询的值'+get_value+'不存在')
不唯一,找到后处理
找到所有的键,删除
不能找一个删一个
由于删掉后字典长度变了,但索引a没变,会超出范围
mydisc = {'key1':'123', 'key2':'234', 'key3':'345','key5':'123'}
get_value = input('请输入要查值:')
if get_value in mydisc.values():
F = [] # 储存找到的键
for a in range(len(mydisc)):
if list(mydisc.values())[a] == get_value:
F.append((list(mydisc.keys())[a])) # 找到重复把键存起来
# 找到所有的键,删除(不能找一个删一个,因为删掉后字典长度变了,但索引a没变,会超出范围)
for del_fish in F:
del mydisc[del_fish] # 删掉位置重复的小鱼
print(mydisc)