目录
max(iterable, *[, default=obj, key=func])
max(arg1, arg2, *args, *[, key=func])
min(iterable, *[, default=obj, key=func])
min(arg1, arg2, *args, *[, key=func])
(2)用法:max()用于获取多个参数或者迭代对象元素中的最大值。
min()函数的用法和max()函数用法相反,获取的是最小值。
参数说明
iterable:迭代对象
default:指定默认对象,是指当迭代对象空(不存在)时输出默认值,可为任意目标值,比如1、‘a’等。
arg1, arg2, *args:参数值,可输入多个参数,比较必须大于2个参数进行比较否则报错。
key:其为一个函数,用来指定取最大值的方法,比如传入字典对象是哪个参数进行比较。
注意:数值型参数比较则返回最大值,字符串型参数比较则返回字母排序靠后的字母。
- max(423,5665869)
- #5665869
- max(423.62,463)
- #463
- max(345.5,563,461,4562)
- #4562
- max('ghjot')
- #输出结果为:'t' 解释:这个是一个迭代英文字母的比较,输出的是排后面的字母
-
- max('f','j','v','u')
- #输出的结果为:'t' 解释:几个迭代字母进行比较
-
- max('jf','bnd')
- #'输出结果为:jf' 解释:两个迭代比较,优先比较第一个字母,j排在b后,所以输出的是jf
-
- max('ja','bc')
- #输出结果为:'ja' 解释:两个迭代比较,优先比较第一个字母,j排在b后,所以输出的是jf
-
-
- max('ja','jc')
- #输出结果为:'jc' 解释:两个迭代比较,优先比较第一个字母,第一个字母相同则比较第二个字母,c排在a后,所以输出的是jc
- ①比较字符串迭代对象大小
- s = '56394'
- max(s)
- #解释说明 在jupyter直接可以输出结果,在pycharm需要用print函数才能输出结果即print(max(s))
- #输出结果为'9' 解释:s中的'56394'做作为迭代对象是指字符串中的数字之间的比较谁最大,9最大所以返回为字符串‘9’
-
-
- #②比较集合这个迭代对象的大小
- y = {'k','y','z','c'}
- max(y)
- #输出结果为‘z’
-
- #③比较列表迭代对象大小
- z = ['d','A','B','g']
- max(z)
- #输出结果为‘g’ 解释:没有区分大小写进行比较大小写,排在后面的g最大则输出g
- max('')
-
- #报错:
- Traceback (most recent call last):
- File "", line 1, in <module>
- ValueError: max() arg is an empty sequence
解决办法:要想不报错可以引入default参数设置一个默认输出值,可为数字或者字符串。
解释:当输入对象为参数时必须有2个以上的参数否则会报错,一个参数时函数会认为时一个迭代对象,而迭代对象不能为int/float,可为字符串。
- max(1)
- Traceback (most recent call last):
- File "", line 1, in <module>
- TypeError: 'int' object is not iterable
解决办法:需要比较单一数值可以将数字转为字符串变为迭代对象,比如'1',日常使用过程中不会直接max('1')更多时候是作为一个迭代对象出现,若求最大值的对象存在单一数字求值可以优先引用string函数将数值型数字转为字符串作为迭代对象。