所以我试着编写一个if语句来检查给定的输入是否不在字典[“”]中;
但是我没有找到一种方法来选择所有键来执行此操作,否则我将不得不重写大约20个键的if语句,这将是低效的
if input_a not in dictionary.values():
print('hi')
if input_b not in dictionary.values():
print('ho')
如果我输入字典中的值或者我有一个不在字典中的值,这将打印ho和hi。
但是,如果我这样做:
if input_a not in dictionary["key1"]:
print('hi')
if input_b not in dictionary["key2"]:
print('ho')
仅当input_a或input_b位于值
的特定键中时,才会打印我还要说每个键都有几个单词值
答案 0 :(得分:4)
如果要检查每个键值,只需检查所有值:
if input_a not in dictionary.values():
print('Sorry, try again')
如果您将iterables作为值:
if not any(input_a in ele for ele in dictionary.values()):
print('Sorry, try again')
如果我假设input_a
等于2
并且某些键值等于[1,2,3]
,我会使用任何一个,那么它应该返回True
。
答案 1 :(得分:2)
all
解决方案是最好的。我只想添加一个只为代码添加一行的答案:
for key in dictionary.keys():
if input_a not in dictionary[key]:
print('Sorry, try again')
答案 2 :(得分:0)
您的问题是您试图对代码过于具体。您只需if input_a not in dictionary:
即可:
dict = {
'orange' : 'orange',
'apple' : 'red',
'tomato' : 'red',
}
dict2 = {
'peach' : 'peach',
'potato' : 'brown',
'squash' : 'yellow',
}
input_a = "apple"
if input_a not in dict:
print "This isn't in dict!"
else:
print "This is in dict!"
#Will print "This is in dict!"
if input_a not in dict2.values():
print "This isn't in dict2 values!"
else:
print "This is in dict2 values!"
#Will print "This isn't in dict2 values!"
答案 3 :(得分:0)
字典= {'名称' :' Hari'' age' :' 24'}
value ='地址'
如果值不在dictionary.keys()中:
print ('Key not found')