python中的内置函数max()和min()及mas()函数的高级用法
max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])
函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元素中的最大值。默认数值型参数,取值大者;字符型参数,取字母表排序靠后者。还可以传入命名参数key,其为一个函数,用来指定取最大值的方法。default命名参数用来指定最大值不存在时返回的默认值。
eg
a.传入的多个参数的最大值
print(max(1,2,3,4))
输出
b.1 传入可迭代对象时,取其元素最大值
s = '12345' print(max(s))
输出
b.2 传入可迭代对象为空时,必须指定参数default,用来返回默认值
print(max((),default=1)) print(max(()))
输出
Traceback (most recent call last):
File "G:/pycode/内置函数/max_ex.py", line 8, in <module>
print(max(()))
ValueError: max() arg is an empty sequence
c.传入命名参数key,其为一个函数,用来指定取最大值的方法
s = [ {'name': 'sumcet', 'age': 18}, {'name': 'bbu', 'age': 11} ] a = max(s, key=lambda x: x['age']) print(a)
输出
{'name': 'sumcet', 'age': 18}
min()函数与max()用法相同,返回最小值
下面看下python: min 和 max 函数
对于元组
max(tuple)
返回元组中元素最大值。
min(tuple)
返回元组中元素最小值。
cmp(tuple1,tuple2)
比较两个元组元素。
tuple(seq)
将列表转换为元组。
>>> min(1,2,3) >>> max(1,2,3)
对于二维数组
>>> a = array([[1,2,3],[0,0,0],[-1,-2,-3],[2,2,2]]) >>> a.min(0) #表示不同行相比较得出最小 array([-1, -2, -3]) >>> a.min(1) #表示每一行自身元素相互比较得出最小 array([ 1, 0, -3, 2])
下面再看下Python内置函数max()高级用法
不管是排序还是选取最大值或者最小值,都应该有个规则或者顺序,而平时我们所说的最大值或最小值实际上也是在某种排序规则或顺序下的最大值和最小值。Python内置函数max()、min()和sorted()以及列表方法sort()都有一个参数key用来指定排序规则,解决的就是这个问题。key参数应该是一个可调用对象,在Python中,类、自定义函数、内置函数、lambda表达式、带有特殊方法__call__()的对象都属于可调用函数。关于key参数的更多用法请参考文末的相关阅读。
总结