python中的max字符串,获取键对应于python dict中的max(value)

Let's consider a sample dictionary of (key, value) pairs as follows:

dict1 = {'a' : 10, 'x' : 44, 'f': 34, 'h':89, 'j': 90, 'd': 28, 'g' : 90}

dict2 = {'a' : 10, 'x' : 44, 'f': 34, 'h':89, 'j': 90, 'd': 28}

Of all the values in the dictionary, 90 is the highest one, I need to retrieve the key corresponds to it.

What are the possible ways to get this done. Which is the efficient one and why ?

Note:

Keys and/or values are not in order for the dictionary. Program keeps adding new (key, value) pairs to the empty dictionary.

There might be more than one key for max(value)

Ex: dict1 above should return ['j', 'g']

dict2 above should return 'j'

a) If dict has only one key corresponds to max(value) then the result should be just a string (i.e. Key)

b) If dict has more than one key corresponds to max(value) then the result should be list of strings (i.e.keys).

解决方案

You can do:

maxval = max(dict.iteritems(), key=operator.itemgetter(1))[1]

keys = [k for k,v in dict.items() if v==maxval]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值