开发者

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

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜