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函数用法

  • 15
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白修炼晋级中

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值