Python max()方法扩展:求字典中值最大的键

重要的应该写在前面【捂脸】
 
场景一:仅求最大值对应的键,代码如下:
>>> dic = {'A':4, 'B':2, 'C':3}
>>> max_key = max(dic, key = dic.get)
>>> max_key
'A'
>>>
场景二:求最大值对应的键值对,代码如下:
>>> dic = {'A':4, 'B':2, 'C':3}
>>> max_key_value = max(dic.items(), key = lambda x: x[1])
>>> max_key_value
('A', 4)
>>>
 
以下为max用法总结,不需要的小伙伴可忽略
 
描述:
取传入的多个参数中的最大值,或者传入的可迭代对象元素中的最大值
 
语法:
1. max(iterable, *[, key, default])
2. max(arg1, arg2, *args[, key])
 
参数介绍:
默认数值型参数,取值大者;字符型参数,取字母表排序靠后者
key---可作为一个函数,用来指定取最大值的方法。
default---用来指定最大值不存在时返回的默认值
arg1---字符型参数/数值型参数,默认数值型
 
 
返回值:
1.传入多个参数取最大值
>>> print(max('a','b','c','d','e','f','g'))
g
>>>
2.传入可迭代对象时,取其元素最大值
>>> s = 'abcdefg'
>>> print(max(s))
g
>>>
3.传入可迭代对象为空时,必须指定参数default,用来返回默认值
>>> print(max([],default=1))
1
>>> print(max([]))
Traceback (most recent call last):
  File "<pyshell#45>", line 1, in <module>
    print(max([]))
ValueError: max() arg is an empty sequence
>>>
4. 传入命名参数key,其为一个函数,用来指定取最大值的方法(灵活运用,根据字典的键值)
示例一:
>>> li = [{'name': 'li', 'age': 24},{'name': 'he', 'age': 45} ]
>>> li_max = max(li, key = lambda x: x['age'])
>>> print(li_max)
{'name': 'he', 'age': 45}
>>>
示例二(求字典中值最大的键):
>>> dic = {'a': 3, 'b': 3, 'c': 2, 'd': 1}
>>> dic_max = max(dic, key = dic.get)
>>> print(dic_max)
a
>>>
min()函数的功能与max()函数的功能相反
原文地址:https://www.cnblogs.com/QianyuQian/p/13667965.html