a2421480 发表于 2018-12-2 11:48:08

看代码

你可以利用filter()和lambda表达式快速求出100以内所有3的倍数吗?
list(filter(lambda n : not(n%3), range(1, 100)))
这个not 我不能理解 来个大神指导下

塔利班 发表于 2018-12-2 12:11:40

n%3是按n除3有余数来过滤的,加not就是n对3整除
即n%3==0

a2421480 发表于 2018-12-2 12:15:33

塔利班 发表于 2018-12-2 12:11
n%3是按n除3有余数来过滤的,加not就是n对3整除
即n%3==0

为啥有余数就过滤呢

塔利班 发表于 2018-12-2 12:20:27

如果没有not
n%3为True的时候,就是filter的过滤条件
n%3就0,1,2三种可能,0被认为是False,其余通过过滤
加上not,正好相反
页: [1]
查看完整版本: 看代码