For specific keys , extract non empty values in a dictionary
Ganesh Pal
ganesh1pal at gmail.com
Sat Jun 16 13:10:36 EDT 2018
*How do I check few specific/selected keys in a dictionary and extract
their values if they are not empty*
*Example : Extract the values for key "one","three","seven" and "nine” if
they are not empty*
*Input :*
*o_num = {'one': 1,*
* 'three': 3,*
* 'bar': None,*
* 'five' : 5,*
* 'rum' : None,*
* 'seven' : None,*
* 'brandy': None,*
* 'nine' : 9,*
* 'gin': None}*
*Output:*
*1 3 9*
Here is my solution , Please review the below code and let me know your
suggestion .
#/usr/bin/python
o_num = {'one': 1,
'three': 3,
'bar': None,
'five' : 5,
'rum' : None,
'seven' : None,
'brandy': None,
'nine' : 9,
'gin': None}
args_list = ["one","three","seven","nine"]
args_dict = dict( (k,v) for k, v in o_num.items() if v and k in args_list )
print args_dict
o/p:
root at X1:/Play_ground/DICT# python hello.py
{'nine': 9, 'three': 3, 'one': 1}
Also, Is unpacking the elements in the o_num dictionary as shown below
fine or are there any other alternatives
arg1, arg2, arg3, arg4, = map(args_dict.get, ('one', 'three', 'seven',
'nine'))
print arg1, arg2, arg3, arg4
I am a Python 2.7 user and on Linux box
Regards,
Ganesh
More information about the Python-list
mailing list