为什么 max() 在这种情况下返回 7?

问题描述 投票:0回答:1
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?请解释一下。

python lambda max
1个回答
0
投票

lambda 将每个值的键计算为“0”,因此对于具有等效键的所有元素,将返回第一个元素。

lambda 仅用于计算比较值,它不会转换返回的值。

© www.soinside.com 2019 - 2024. All rights reserved.