Как выбрать все ключи в словаре Python?
Поэтому я пытаюсь написать оператор if, который проверит, нет ли введенных данных в словаре [""];
Однако я не нашел способа выбрать все ключи, чтобы сделать это, иначе мне придется переписать оператор if примерно для 20 ключей, что было бы неэффективно
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 находятся в этом конкретном ключе значений
Позвольте мне также сказать, что каждый ключ имеет несколько значений слов
4 ответа
Если вы проверяете каждое значение ключа, просто проверьте все значения:
if input_a not in dictionary.values():
print('Sorry, try again')
Если у вас есть итерируемые значения:
if not any(input_a in ele for ele in dictionary.values()):
print('Sorry, try again')
Я использовал любой, как я полагаю, если input_a
был равен 2
и значение некоторых ключей было равно [1,2,3]
тогда он должен вернуться True
,
all
Решение самое лучшее. Я просто хочу добавить ответ, который только добавляет строку в ваш код:
for key in dictionary.keys():
if input_a not in dictionary[key]:
print('Sorry, try again')
dictionary={'name': 'Hari', 'age': '24'}
значение = "адрес"
если значение отсутствует в dictionary.keys():
print ('Key not found')
Ваша проблема в том, что вы пытаетесь слишком конкретизировать свой код. Все, что тебе нужно 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!"