我有一个字典,其中键是字符串,值是整数。
stats = {'a': 1, 'b': 3000, 'c': 0}
如何获得具有最大值的密钥?在这种情况下,它是 'b'
。
有没有比使用带有反向键值元组的中间列表更好的方法?
inverse = [(value, key) for key, value in stats.items()]
print(max(inverse)[1])
原文由 ricafeal 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个字典,其中键是字符串,值是整数。
stats = {'a': 1, 'b': 3000, 'c': 0}
如何获得具有最大值的密钥?在这种情况下,它是 'b'
。
有没有比使用带有反向键值元组的中间列表更好的方法?
inverse = [(value, key) for key, value in stats.items()]
print(max(inverse)[1])
原文由 ricafeal 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
您可以为此使用
operator.itemgetter
:而不是在内存中构建一个新列表,而是使用
stats.iteritems()
。max()
函数的key
参数是一个计算用于确定如何对项目进行排名的键的函数。请注意,如果您有另一个键值对 ’d’: 3000 ,即使它们都具有最大值,此方法也只会返回 两者 之一。
如果使用 Python3: