python - 返回字典中的最大值

标签 python python-2.7 dictionary max

<分区>

我想从字典中返回最大值及其键,我知道像下面这样的东西应该可以解决问题

max(list.iteritems(), key=operator.itemgetter(1))

但是如果字典中的最大值是 6 并且碰巧多个键具有相同的值.. 它总是返回第一个!我怎样才能让它返回所有具有最大数量的键作为值以及值。这是 具有相同最大值的字典示例:

dic={0: 1.4984074067880424, 1: 1.0984074067880423, 2: 1.8984074067880425, 3: 2.2984074067880425, 4: 2.2984074067880425}

最佳答案

使用列表理解的解决方案:

dic={0: 1.4984074067880424, 1: 1.0984074067880423, 2: 1.8984074067880425, 3: 2.2984074067880425, 4: 2.2984074067880425}
max_value = max(dic.values())  # maximum value
max_keys = [k for k, v in dic.items() if v == max_value] # getting all keys containing the `maximum`

print(max_value, max_keys)

输出:

2.2984074067880425 [3, 4]

关于python - 返回字典中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42044090/

相关文章:

python:涉及幂级数的问题的效率

python - 如何在python中安装bottle包?

python - 从没有值(value)的字典中保存一个键

python - 在 Python 中索引浮点值

python - 切片我的数据框返回意外结果

python - 有没有办法在python字典中保留重复键

python - Django错误: Caught ImportError while rendering: No module named comments

python - 删除括号之间的所有最后一个逗号

python - 是否可以在浏览器中运行 pygame 或 pyglet ?

Python字典: How to get the longest key for the longest value?