大珠提子 发表于 2020-3-11 12:01:50

关于python中filter的疑问

想问下这个筛选条件,并没有写x%2==1a啊,为什么会自动筛选奇数呢?
list(filter(lambda x : x % 2,range(10)))
...
...

zltzlt 发表于 2020-3-11 12:05:37

直接返回 x % 2 就是当 x % 2 不为 0 时不过滤,为 0 时过滤

大珠提子 发表于 2020-3-11 12:10:37

zltzlt 发表于 2020-3-11 12:05
直接返回 x % 2 就是当 x % 2 不为 0 时不过滤,为 0 时过滤

这个除法filter里面是默认滤掉整除的数保留有余数的吗?

zltzlt 发表于 2020-3-11 12:12:14

大珠提子 发表于 2020-3-11 12:10
这个除法filter里面是默认滤掉整除的数保留有余数的吗?

不是,filter() 过滤掉假值(也就是 0),保留真值(也就是不为 0 的数)

大珠提子 发表于 2020-3-11 12:15:31

zltzlt 发表于 2020-3-11 12:12
不是,filter() 过滤掉假值(也就是 0),保留真值(也就是不为 0 的数)

嗯呐我刚试了别的数,是不是条件不写明余数的情况,就会按照filter本来设定滤掉False值(表现数字就是结果得0),保留结果True值(结果非0)。如果要想得到偶数的列表就要写清楚x%2==0。

zltzlt 发表于 2020-3-11 12:16:57

大珠提子 发表于 2020-3-11 12:15
嗯呐我刚试了别的数,是不是条件不写明余数的情况,就会按照filter本来设定滤掉False值(表现数字就是结果 ...

是的
页: [1]
查看完整版本: 关于python中filter的疑问