max()

2018-12-18  本文已影响0人  import_hello

转载须注明出处:简书@Orca_J35 | GitHub@orca-j35,所有笔记均托管于 python_notes 仓库

🔨 max(iterable, *[, key, default])

🔨 max(arg1, arg2, *args[, key])

如果只提供一个位置实参,则必须是一个可迭代(iterable)对象,max() 将返回 iterable 中最大的一项。如果向 max() 传递一个非可迭代对象,则会抛出 TypeError 异常

max([2,4,6,8]) #> 8
# 字符按照Unicode码点值进行比较
max('orca_j35') #> 'r'
# 大小与各项的长度无关
max(['ab','ac','d']) #> 'd'

max(1024) #> TypeError: 'int' object is not iterable

如果提供两个以上的位置实参max() 将返回这些位置实参中最大的一项。

max(1,3,5) #> 5
max('ab','ac','d') #> 'd'

max() 中可选关键字实参的功能如下:

如果存在多个最大项,max() 将返回第一个出现的最大项。该结果与其它稳定性排序工具一致,例如 sorted(iterable,key=keyfunc, reverse=True)[0]heapq.nlargest(1, iterable, key=keyfunc)

cards = [(7,"黑桃"), (8,"红桃"), (2,"红桃"), (8,"黑桃")]
sorted(cards,key=lambda t:t[0],reverse=True)[0]
#> (8, '红桃')
max(cards,key=lambda t:t[0])
#> (8, '红桃')

关于稳定性排序,详见笔记『sorted.md』-> 稳定性

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

上一篇 下一篇

猜你喜欢

热点阅读