作者:梦幻死灵_791 | 来源:互联网 | 2024-10-22 14:52
博客转移到个人站点:python max函数中使用key
代码: a = dict(((1,3),(0,-1),(3,21)))m = max(a, key=a.get) 为什么这返回与最大值对应的键?
字典“a”是python中的一个可迭代的结构。当您在a中循环使用x时,您将循环使用字典中的键。
在第二行中,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... 013
请注意,只输出“键”。当我们通过这些键到“获得”
>>> a.get(0)-1>>> a.get(1)3>>> a.get(3)21
我们得到每个键的值。现在看看最大功效。
>>> b=[2, 3, 5, 6, 4]>>> max(b)6>>> def inverse(x):... return 1.0 / x... >>> max(b, key=inverse)2
如您所见,max(默认情况下)将在我们的可迭代列表中找到最大的数字。如果我们定义“反”函数,它将返回b中最大的项,其中inverse(item)是最大的。
结合这两个项目,我们看到max(a,key = a.get)将返回一个a.get(item)的值最大的项。即对应于最大值的键。
总结:
1、key后面是函数
2、max遍历dict的值,取最大
3、key后面的函数通过这个值去查找对应的键
4、不加key这个函数的话,默认遍历的是字典的key,最后输出最大的键
有图有真相~~~~
关注公众号,获取最新信息
阿布的进击