Python 内建函数 - max(iterable, *[key, default])

时间:2021-08-29 18:37:06

参数形式

  • max(iterable, *[key, default])
  • max(arg1, arg2, *args[, key])

Manual

Return the largest item in an iterable or the largest of two or more arguments.

If one positional argument is provided, it should be an iterable. The largest item in the iterable is returned. If two or more positional arguments are provided, the largest of the positional arguments is returned.

There are two optional keyword-only arguments. The key argument specifies a one-argument ordering function like that used for list.sort(). The default argument specifies an object to return if the provided iterable is empty. If the iterable is empty and default is not provided, a ValueError is raised.

If multiple items are maximal, the function returns the first one encountered. This is consistent with other sort-stability preserving tools such as sorted(iterable, key=keyfunc, reverse=True)[0] and heapq.nlargest(1, iterable, key=keyfunc).

New in version 3.4: The default keyword-only argument.

直译

返回iterable中最大项,或两个及以上参数中最大者。
如果提供了一个位置参数,那么它应该是一个迭代,最终返回迭代中的最大项。如果提供了两个及以上的位置参数,最终返回最大的位置参数。
这里有两个可选的keyword-only(仅关键字)参数。key参数指定了一个单参数排序函数(就像使用list.sort()一样)。default参数指定了一个返回对象(如果提供的iterable为空时),如果iterable且未提供default,则引发ValueError。
如果出现多项均为最大值,那么函数返回第一个遇到的值,这与其他保持排序稳定的工具相吻合,例如sorted(iterable, key=keyfunc, reverse=True)和heapq.nlargest(1, iterable, key=keyfunc)
version 3.4新特性: keyword-only参数default

实例

>>> a = [2, 5, 6, 9]
>>> max(a)
9
>>> max(i for i in range(10))
9

>>> b = []
>>> max(b)
Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    max(b)
ValueError: max() arg is an empty sequence
>>> max(b, [1])
[1]

>>> c = 'CSDN'
>>> max(c)
'S'

拓展阅读

min()