My dict is like,
{'A':4,'B':10,'C':0,'D':87}
I want to find max value with its key and min value with its key.
Output will be like ,
max : 87 , key is D
min : 0 , key is C
I know how to get min and max values from dict. Is there is any way to get value and key in one statement?
max([i for i in dic.values()])
min([i for i in dic.values()])
This question is related to
python
python-2.7
dictionary
just :
mydict = {'A':4,'B':10,'C':0,'D':87}
max(mydict.items(), key=lambda x: x[1])
The clue is to work with the dict's items (i.e. key-value pair tuples). Then by using the second element of the item as the max
key (as opposed to the dict
key) you can easily extract the highest value and its associated key.
mydict = {'A':4,'B':10,'C':0,'D':87}
>>> max(mydict.items(), key=lambda k: k[1])
('D', 87)
>>> min(mydict.items(), key=lambda k: k[1])
('C', 0)
Source: Stackoverflow.com