list comprehension不返回空列表

Ana*_*dey -7 python list-comprehension list conditional-statements

我试图找到相关的问题但却找不到创建一个新的问题.我的程序根据简单的if条件在python中使用list comprehension创建一个新列表.

  Newone = [ temp for temp in Oldone if temp % 2 != 0 ]
Run Code Online (Sandbox Code Playgroud)

它工作正常但在某些情况下它不起作用.例如这一个

 Oldone = [1]
 Newone = [ temp for temp in Oldone if temp % 2 != 0 ]
Run Code Online (Sandbox Code Playgroud)

这返回[1],但我期待Newone成为[]

Mic*_*ouw 5

 1%2 == 1
Run Code Online (Sandbox Code Playgroud)

所以你的条件temp % 2 != 0True:因此它包含在列表中.如果您想要一个空列表,您应该更改它temp % 2 == 0.