关于函数filter()的一个疑问
求教大神,在自学python中,第六章 函数里,有一个地方>>> def odd(x):
return x % 2
>>> temp = filter(odd,range(10))
>>> list(temp)
上边的return x%2,返回的定义是什么?因为按照理解,返回值应该是0或1
但是结合用在filter中,0是作为False的么?
不然按照理解从0到9带入到odd函数中计算,不是应该为么?
求解释,谢谢
return x % 2和return x % 2==1 是一个意思所以答案是1 3 5 7 9 没毛病 0到9带入到odd函数返回0,1,0,1....
是0的舍掉数字,是1的(True),保留。 冬雪雪冬 发表于 2019-5-31 16:53
0到9带入到odd函数返回0,1,0,1....
是0的舍掉数字,是1的(True),保留。
那可以理解为0是false么
因为filter里是false筛除 wangxinnan 发表于 2019-5-31 17:13
那可以理解为0是false么
因为filter里是false筛除
基本上所有语言里0和false都是划等号的 wangxinnan 发表于 2019-5-31 17:13
那可以理解为0是false么
因为filter里是false筛除
是的 wp231957 发表于 2019-5-31 17:16
基本上所有语言里0和false都是划等号的
感谢解惑 冬雪雪冬 发表于 2019-5-31 17:17
是的
感谢解惑
页:
[1]