【问题标题】:How to find maximum valued key in dictionary in Python [duplicate]如何在Python中找到字典中的最大值键[重复]
【发布时间】: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 对应的字典的值

标签: python dictionary


【解决方案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:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-03
    • 2012-09-14
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多