Python min() 函数
本帖最后由 一个账号 于 2020-3-20 14:54 编辑Python min() 函数
语法
min(iterable, *[, default=obj, key=func]) -> value
min(arg1, arg2, *args, *[, key=func]) -> value
参数
参数有两种传递方式:
1. 传递 1 或多个可迭代对象:如果传递 1 个可迭代对象,比的是可迭代对象里面的值;
如果给的是 多个可迭代对象,比的是每一个迭代器对象。
2. 传递多个字符串或数字:比的是每个字符串或数字。
参数描述
iterable可迭代对象
key自定义处理函数,以 key 的返回结果进行对比
default默认值,只有在传递单个空值时有效
描述
min() 方法用于找出最小的值。
返回值
返回最小的值。
例子
>>> min("aobiwjoe4not4igja;wolqo28475199*&")
'&'
>>> min(1, 7, 4, 7, 3, 3, 6)
1
>>> min()
2
>>> min(, )
>>> min(, )
>>> min(, , key=len)
>>> min("")
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
min("")
ValueError: min() arg is an empty sequence
>>> min("", default="default")
'default' 本帖最后由 永恒的蓝色梦想 于 2020-3-20 08:54 编辑
一种可能的实现
def min(iterable,/,*vars,key=None,default=None):
if vars:
if default is not None:
raise TypeError("Cannot specify a default for min() with multiple positional arguments")
least=iterable
flag=key(least)
else:
iterator=iter(iterable)
if default is None:
try:
least=next(iterator)
except StopIteration:
raise ValueError("min() arg is an empty sequence")
else:
least=default
if key is None:
for var in vars:
if var<least:
least=var
return least
else:
flag=key(least)
for var in vars:
if (temp:=key(var))<flag:
flag=temp
least=var
return least Pyton zltzlt 发表于 2020-3-20 13:04
Pyton
?? 一个账号 发表于 2020-3-20 13:36
??
标题写成pyton了 永恒的蓝色梦想 发表于 2020-3-20 14:48
标题写成pyton了
已改
页:
[1]