如何在Python中找到字典中的最大值键[重复]

Posted

技术标签:

【中文标题】如何在Python中找到字典中的最大值键[重复]【英文标题】:How to find maximum valued key in dictionary in Python [duplicate] 【发布时间】:2018-09-27 00:07:50 【问题描述】:

我无法理解以下代码如何在字典中找到具有最大值的键。我知道第一个参数,即my_dict.keys() 返回一个键列表。但我没有得到第二个参数..帮帮我

key_max = max(my_dict.keys(), key=(lambda k: my_dict[k]))

【问题讨论】:

你了解key参数的作用吗? 它存储由 lambda 函数返回的值,即 my_dict[k] 即与键 k 对应的字典的值 My answer. :-) 【参考方案1】:

那么,归结为:

# Your key is what you use to compare
key_value_finder = lambda x: my_dict[x]
test_val = 0
sought_key = None

# All that max is doing is iterating through the list like this
for k in my_dict.keys():

    # Taking the value returned by the `key` param (your lambda)
    tmp_val = key_value_finder(k)

    # And retaining it if the value is higher than the current cache.
    if tmp_val > test_val:
         test_val = tmp_val
         sought_key = k

【讨论】:

所以第一个参数 my_dict.keys() 的实际目的是提供 key 作为 lambda 函数的参数,用于返回相应的值并重复检查最大值,是吗?【参考方案2】:

另一种找到最大值键的解决方案:

d =  'age1': 10, 'age2': 11

max_value = max(d.values())
for k, v in d.items():
    if v == max_value:
        print(k)

解释:

使用 max() 求最大值

然后使用for循环迭代并检查值是否等于迭代值

for k, v in d.items():
if v == max_value:

【讨论】:

以上是关于如何在Python中找到字典中的最大值键[重复]的主要内容,如果未能解决你的问题,请参考以下文章

查找字典的最大值并打印键、值对[重复]

如何判断哪个键具有最大值存储在字典中

在字典中查找最大值[重复]

Python - 嵌套字典中的最大值键,泛化

如何在字典列表中找到公共键的最小/最大值?

python 中关于字典的键