为什么结果的list中没有0?

img

为什么这个运行结果的list中不包含0?

img
换了一个写法,这个运行结果的list中就有0。

为什么会这样?是不是第一种写法有什么问题?还是有什么运算细节我忽略了?

因为0的布尔值是False,而你返回0肯定也会过滤掉