如何在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中找到字典中的最大值键[重复]的主要内容,如果未能解决你的问题,请参考以下文章