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: ")
如何從這些字典中搜索輸入值? 如果找到值,則返回發現否則返回未找到。如何檢查Python中字典的值?
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: ")
如何從這些字典中搜索輸入值? 如果找到值,則返回發現否則返回未找到。如何檢查Python中字典的值?
使詞典列表,並在其中進行搜索:
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
是的,這對我感謝@Raju Pitta –
如果你發現你在找什麼,請將問題標記爲已回答。 –
爲什麼在不同的字典而不是一個搜索值?
試試這個
合併在一個
d5 = {**d1, **d2, **d3, **d4}
所有字典,然後檢查
if ch in d5 .values():
print "Found"
else:
print "Not Found"
只有當python版本> = 3.5時,合併纔有效。請參閱https://www.python。org/dev/peps/pep-0448/ –
你想要的效果被稱爲鍵互換。這個片段是執行:
def keyswap(yourdict):
cache = {}
for i in yourdict.keys():
cache[yourdict[i]] = i
for i in cache.keys():
yourdict[i] = cache[i]
del cache
它鑰匙在原位。
您可以使用下面的代碼
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'
你需要做的:
得到字典的值;
搜索所有字母;
如果匹配,則將結果標記爲「找到」。
第1步:
dict.values()
步驟2:
有許多方法向所有類型的字典結合起來,爲大家給。
你可以先挑選所有的值設置一個新的列表,然後搜索,如果你的輸入這樣的匹配:
# combine all dicts
d = d1.values() + d2.values() +d3.values() + d4.values()
# judge if matches
if ch in d:
# do something
希望這段代碼可以釋放你的迷惑。
你有什麼企圖 –
是的保羅。我想要搜索的值不是關鍵 –