python的max、min函数的用法及实例

目录

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函数将数值型数字转为字符串作为迭代对象。


参考文章:10.Python——max()的用法_董十贝的博客-CSDN博客_pythonmax函数用法

猜你喜欢

转载自blog.csdn.net/weixin_50853979/article/details/126679591