d1 = {'name': 'Sagar','age': 25}
d2 = {'name': 'Sassdr', 'age':122}
d3 = {'name': 'Saga23weer', 'age':123344}
d4 = {'name': '2133Sagar', 'age':14322}
ch = input("Enter your value: ")
如何从这些词典中搜索输入的值? 如果找到值,则返回找到其他返回未找到。
答案 0 :(得分:2)
为什么搜索值在不同的字典中而不是在一个字典中?
试试这个
将所有字典合并到一个
中d5 = {**d1, **d2, **d3, **d4}
然后检查
if ch in d5 .values():
print "Found"
else:
print "Not Found"
答案 1 :(得分:1)
列出词典并在其中搜索:
d1 = {'name': 'Sagar','age': 25}
d2 = {'name': 'Sassdr', 'age':122}
d3 = {'name': 'Saga23weer', 'age':123344}
d4 = {'name': '2133Sagar', 'age':14322}
d = [d1,d2,d3,d4]
def check(ch):
for entry in d:
if entry["name"] == ch:
return("found")
return ("Not found")
while True:
ch = input("Enter your value: ")
if ch == "stop":
break
print(check(ch))
输出:
>>>
Enter your value: Sagar
found
Enter your value: Someone
Not found
Enter your value: 2133Sagar
found
Enter your value: stop
答案 2 :(得分:0)
您想要的效果称为密钥交换。这个片段是实现:
def keyswap(yourdict):
cache = {}
for i in yourdict.keys():
cache[yourdict[i]] = i
for i in cache.keys():
yourdict[i] = cache[i]
del cache
它按键到位。
答案 3 :(得分:0)
您可以使用以下代码
Python2
def IsFound():
list_dict = [d1, d2, d3, d4]
values_list = []
for each in list_dict:
values_list += each.values()
ch = input('enter your value')
if ch in values_list:
return 'Found'
else:
return 'Not Found'
Python3
def IsFound():
dict = {**d1, **d2, **d3, **d4}
ch = input('enter your value')
if ch in dict.values():
return 'Found'
else:
return 'Not Found'
答案 4 :(得分:0)
你需要这样做:
获取dict的值;
搜索所有词组;
将结果标记为"找到"如果匹配。
:
dict.values()
步骤2的:
有很多方法可以将所有的词汇组合起来,就像每个人都给出的那样。
您可以先选择所有值来设置新列表,然后搜索您的输入是否匹配如下:
# combine all dicts
d = d1.values() + d2.values() +d3.values() + d4.values()
# judge if matches
if ch in d:
# do something
希望这段代码可以解除您的困惑。