l = [7, 9, 5, 6, 13, 5, 15, 3] t = max(l, key=lambda g:g if g%9==1 else 0)
t 是 l 的最大元素,除以 9 的余数是 1。
在这种情况下,t等于7。但是这个列表没有任何元素,除以9的余数根本就是1!为什么不等于0?请解释一下。
lambda 将每个值的键计算为“0”,因此对于具有等效键的所有元素,将返回第一个元素。
lambda 仅用于计算比较值,它不会转换返回的值。