开发者

How do I get the highest key in a python dictionary?

开发者 https://www.devze.com 2022-12-30 17:57 出处:网络
d = {\'apple\':9,\'oranges\':3,\'grapes\':22} How do I return the largest key/value? Edit: How do开发者_Go百科 I make a list that has this sorted by largest to lowest value?>>> d = {\'apple

d = {'apple':9,'oranges':3,'grapes':22}

How do I return the largest key/value?

Edit: How do开发者_Go百科 I make a list that has this sorted by largest to lowest value?


>>> d = {'apple':9,'oranges':3,'grapes':22}
>>> v, k = max((v, k) for k, v in d.items())
>>> k
'grapes'
>>> v
22

Edit: To sort them:

>>> items = sorted(((v, k) for k, v in d.items()), reverse=True)
>>> items
[(22, 'grapes'), (9, 'apple'), (3, 'oranges')]


You want to use max(). To get the largest key use:

max(d.keys())

Or:

max(d)

To get the largest value use:

max(d.values())


If you want the key with the highest value from your dictionary then this is the answer.

max(d.keys(), key=d.get)


max(d.values())

Edited:

The above gives you the max value. To get the key/value pair with the max value, you could do this:

sorted(d.items(), key=lambda x:x[1], reverse=True)[0]


"""How do I print the key, too? """

maxval = max(d.itervalues())
maxkeys = [k for k, v in d.iteritems() if v == maxval]
0

精彩评论

暂无评论...
验证码 换一张
取 消