max()函数中key的用法
max(iterable, *[, key, default])其中:key 指定一个用于比较的函数(类似于列表的 sort() 方法)
请问各位前辈,key是如何用的?视频里没有说明,请各位前辈指点一二,最好附上代码帮帮我理解,深表感谢。
{:9_228:} 改变排序算法,如:
x = ["a","b","c"]
print(max(x,key = lambda x:ord(x)))
输出:
'c']
此处不再根据 "a" "b" "c" 具体的量来判断大小,而是根据它们的 ascii 码进行排序! 不管是 sorted 、min 还是 max 中的 key 都是一样的,
就是将指定迭代器的每一项传给 key 指定的函数,
然后通过这个函数的返回值来对 迭代器 排序,
比如,字符串:字符串的自然顺序是通过每一个字符中的 ascii 码来排序,
你可以通过 key 参数让它根据 长度 来排序
>>> arr = ['aaaaafdfdffdfdf', 'zfdfd'] # 'zfdfd' 的第一个字符的 ascii 码大于 'aaaaafdfdffdfdf'
>>> max(arr)
'zfdfd'
>>> max(arr, key=len) 'aaaaafdfdffdfdf' 的长度大于 'zfdfd'
'aaaaafdfdffdfdf'
>>>
isdkz 发表于 2022-3-18 15:54
不管是 sorted 、min 还是 max 中的 key 都是一样的,
就是将指定迭代器的每一项传给 key 指定的函数,
...
前辈您可太及时了哈哈,辛苦啦,一看就懂啦,后面视频有讲解key的用法啦喜喜
多谢前辈指点{:9_237:}
页:
[1]