Python 中的 max(a,b,c,key=func) 中的 key=func 部分是什么意思?

What does this `key=func` part mean in `max(a,b,c,key=func)` in Python?

这里 max(a,b,c,key=func) 中的 key=func 部分是什么意思 https://docs.python.org/2/library/functions.html#min

我知道这个功能在 Python 中是如何工作的。但通常我看到它只是简单地用作 z = max(a, b, c) 但是在 Python 文档中我找到了这部分但我不明白。是这个函数的一些额外的可选特性还是什么?

它允许定义一个标准来取代元素之间的 < 比较。

例如:

>>>l = ["hhfhfhh","xx","123455676883"]
>>>max(l, key=len)
'123455676883'

returns 列表中最长的字符串 "123455676883"

没有它,它会 return "xx" 因为根据字符串比较,它是排名最高的字符串。

>>>l = ["hhfhfhh","xx","123455676883"]
>>>max(l)
'xx'