+ 2

Can we do boolean on dictionary keys?

For example i want to check whether 'a' key is in dict or not. what should i do? so far i did this : a = {'123':0,'445':0} if a['567'] in a: print('yes') else: print('no') and it returns a key error

20th Nov 2016, 3:28 AM
Wira SW
Wira SW - avatar
2 Answers
+ 3
you should use .get method. for example, in your dictionary value=a.get('567','not in dictionary') if '567' is in dictionary, value would be similar to a['567']. The second argument is returned by get method if element is not in dictionary. Then you can apply boolean on value returned. if value=='not in dictionary': print('no') else: print('yes') Another way which similar to what you've tried is using dictionary.keys() ie if '567' in a.keys(): print('yes') else: print('no')
20th Nov 2016, 5:07 AM
Akash Vibhute
Akash Vibhute - avatar
+ 3
more on what Akash said: if '567' in a.keys(): print('yes') else: print('no') in this example you don't need to write a.keys(). 'in' tests keys in a dict by default, the example can be rewritten like this: if '567' in a: print('yes') else: print('no') you can directly write the expression in the print if you wish so print('567' in a)
20th Nov 2016, 2:41 PM
asdadasdsaczxc