目录
1.max函数和min函数的语法和用法
(1)语法
①max函数:
max(iterable, *[, default=obj, key=func])
max(arg1, arg2, *args, *[, key=func])
②min函数:
min(iterable, *[, default=obj, key=func])
min(arg1, arg2, *args, *[, key=func])
(2)用法:max()用于获取多个参数或者迭代对象元素中的最大值。
min()函数的用法和max()函数用法相反,获取的是最小值。
2.实例
(1)传入参数对象
①数值型数字求最大值
②字符串求最大值
(2)传入迭代对象
3.报错情况
(1)输入参数为空值时,报错告知参数不能为空值
(2)输入一个数值型数字时会报错:int不能为迭代对象。
1.max函数和min函数的语法和用法
(1)语法
①max函数:
max(iterable, *[, default=obj, key=func])
max(arg1, arg2, *args, *[, key=func])
②min函数:
min(iterable, *[, default=obj, key=func])
min(arg1, arg2, *args, *[, key=func])
参数说明
iterable:迭代对象
default:指定默认对象,是指当迭代对象空(不存在)时输出默认值,可为任意目标值,比如1、‘a’等。
arg1, arg2, *args:参数值,可输入多个参数,比较必须大于2个参数进行比较否则报错。
key:其为一个函数,用来指定取最大值的方法,比如传入字典对象是哪个参数进行比较。
(2)用法:max()用于获取多个参数或者迭代对象元素中的最大值。
min()函数的用法和max()函数用法相反,获取的是最小值。
注意:数值型参数比较则返回最大值,字符串型参数比较则返回字母排序靠后的字母。
2.实例
(1)传入参数对象
①数值型数字求最大值
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
(2)传入迭代对象
①比较字符串迭代对象大小
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
3.报错情况
(1)输入参数为空值时,报错告知参数不能为空值
max('')
#报错:
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: max() arg is an empty sequence
解决办法:要想不报错可以引入default参数设置一个默认输出值,可为数字或者字符串。
(2)输入一个数值型数字时会报错:int不能为迭代对象。
解释:当输入对象为参数时必须有2个以上的参数否则会报错,一个参数时函数会认为时一个迭代对象,而迭代对象不能为int/float,可为字符串。
max(1)
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'int' object is not iterable
解决办法:需要比较单一数值可以将数字转为字符串变为迭代对象,比如'1',日常使用过程中不会直接max('1')更多时候是作为一个迭代对象出现,若求最大值的对象存在单一数字求值可以优先引用string函数将数值型数字转为字符串作为迭代对象。