gpt4 book ai didi

python - python字典中最大值对应的key

转载 作者:太空狗 更新时间:2023-10-29 16:54:07 24 4
gpt4 key购买 nike

a = dict(((1,3),(0,-1),(3,21)))
m = max(a, key=a.get)

有人可以解释为什么这会返回对应于最大值的键吗?这让我很困惑。谢谢!

最佳答案

字典“a”是python中的一个可迭代结构。当您使用 for x in a 进行循环时,您正在循环字典中的键。

在第二行中,max 函数有两个参数:一个可迭代对象 (a) 和一个可选的“key”函数。 Key 函数将用于评估 a 中项目的值——将返回其中最大的一个。

例子:

>>> a = dict(((1,3),(0,-1),(3,21)))
>>> for x in a:
... print x #output the value of each item in our iteration
...
0
1
3

注意这里只输出“keys”。当我们将这些键中的每一个传递给“get”时......

>>> a.get(0)
-1
>>> a.get(1)
3
>>> a.get(3)
21

我们获取每个键的值。现在看看 max 是如何工作的。

>>> b=[2, 3, 5, 6, 4]
>>> max(b)
6
>>> def inverse(x):
... return 1.0 / x
...
>>> max(b, key=inverse)
2

如您所见,max(默认情况下)只会在我们的可迭代列表中找到最大的数字。如果我们定义“inverse”函数,它将返回 b 中最大的项目,其中 inverse(item) 是最大的。

合并这两项,我们看到 max(a, key=a.get) 将返回 a 中的 item a.get(item) 的值最大。即最大值对应的key。

关于python - python字典中最大值对应的key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5227291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com