python - 更喜欢字典中最大值的键?

标签 python dictionary duplicates max

您可以通过 max(d, key=d.get) 获取字典中具有最大值的键。 当两个或多个键具有最大值时如何设置首选键的问题。

我找到了一种方法,通过在 key 上附加一个数字来实现此目的。

有更好的方法吗?

In [56]: d = {'1a' : 5, '2b' : 1, '3c' : 5 }

In [57]: max(d, key=d.get)
Out[57]: '1a'

In [58]: d = {'4a' : 5, '2b' : 1, '3c' : 5 }

In [59]: max(d, key=d.get)
Out[59]: '3c'

最佳答案

key 参数中给出的函数可以返回一个元组。如果第一个元素有多个最大值,则将使用元组的第二个元素。这样,您就可以使用您想要的方法,例如使用两个字典:

d = {'a' : 5, 'b' : 1, 'c' : 5 }
d_preference = {'a': 1, 'b': 2, 'c': 3}
max(d, key=lambda key: (d[key], d_preference[key]))
# >> 'c'

d_preference = {'a': 3, 'b': 2, 'c': 1}
max(d, key=lambda key: (d[key], d_preference[key]))
# >> 'a'

关于python - 更喜欢字典中最大值的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53661380/

相关文章:

scala - 如何在 Apache Spark 上的 Scala 中使用可变映射?找不到 key 错误

java - 从 map 中获取最高 n 个数字的最简洁方法?

python - 计算多列python中的字符串实例

java - 在这种情况下有没有办法完全避免重复代码?

mysql - 从表中删除重复行

python: virtualenvwrapper 部分损坏并出现错误:没有名为 virtualenvwrapper 的模块

python - python pre-commit 工具是否可以将子目录视为项目的基础?

python - 多维数组到字典

python - 如何从表单输入触发器中获取流创建表单中的 'Branch files on creation' 值?

python - Django clean_email 函数返回 "enter a valid email"