当前位置: 首页 > 知识库问答 >
问题:

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

万俟招
2023-03-14

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

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

共有1个答案

柯阳曦
2023-03-14

所以,这归结为:

# 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
 类似资料:
  • 问题内容: 对Python来说还算是新手,仍然需要大量的信息。 我所见过的所有关于字典的文档都说明了通过键获取值的各种方法-但我正在寻找一种反之的pythonic方法-通过值获取键。 我知道我可以遍历键并检查它们的值,直到找到要查找的值,然后抓住键,但是我正在寻找直接途径。 问题答案: 没有直接路线。但是,使用列表理解非常容易。 如果您偶尔需要执行此操作,而又不建议将其编入索引,则不值得这样做,则

  • 问题内容: 可以说我有一本字典: 所以可以说我想写一个函数 获得具有前k个值的键(保持顺序,即开头出现最高值的键)的最有效方法(以大O表示)是什么? 问题答案: : 您可以使用关键字参数来指定应该用作排序键的内容,例如:

  • 问题内容: 我有一个:键是字符串,值是整数。 例: 我想作为一个答案,因为它是具有更高价值的关键。 我使用带有反向键值元组的中间列表进行了以下操作: 那是一种更好(或更优雅)的方法吗? 问题答案: 您可以使用: 而不是在内存使用中构建新列表。该函数的参数是一个计算键的函数,该键用于确定如何对项目进行排名。 请注意,如果要使用另一个键值对,则此方法将仅返回两个值中的一个,即使它们都具有最大值。 如果

  • 问题内容: 我有一本代表书店的字典。键代表书名,值代表当前书的份数。从商店出售书籍时,书籍的份数必须减少。 我已经编写了减少售书数量的代码,但是在更新后打印字典时,我得到的是初始字典,而不是更新的字典。 我想以最简单的方式解决问题。我是否错过了代码中的任何逻辑或任何行? 问题答案: 好吧,您可以仅通过引用键直接从值中减去。我认为这更简单。 在您的情况下:

  • 问题内容: 这个问题与Python类似-在字典中查找最长(最多单词)键-但我需要纯字符数。 输入示例: 输出: 问题答案: 替代方法,与@jamylak的解决方案一样快,并且使用更多的pythonic: 查看比较:

  • 问题内容: 我有一本这样的字典: 我想获得该字典的5个最大值,并以此存储一个新的字典。要获得最大值,我做了: 也许这是一项容易的任务,但是我坚持了很长时间。请帮忙!!! 问题答案: 你近了 您可以使用 [docs] 对列表进行 排序 ,并采用前五个元素: __ 另请参阅:Python排序方法