当计算x != '0'
或x != '-1'
时,编译器返回预期的输出
opt=[f'xt:{x}' for x in status if x != '0']
或
opt=[f'xt:{x}' for x in status if x !='-1']
当我将 x != '0' or x !='-1'
组合在一起时,问题就出现了
status = ['-1', '2', '3', '0']
opt=[f'xt:{x}' for x in status if x != '0' or x !='-1']
['xt:-1', 'xt:2', 'xt:3', 'xt:0']
但是,我希望输出是
opt=['xt2','xt3']
如果您将“or语句”切换为“and语句”,则会起作用,因为在这种情况下,“or语句”的计算结果始终为true
它应该是
x != '0' **and** x !='-1'
。我知道你说的“人语”是什么意思- 既不是0也不是-1,但对于计算机来说,这是“不是0,也不是-1”。所以-1是可以的,因为它不是0,计算机是满意的。因此,您需要做的就是将or
更改为and
相关问题 更多 >
编程相关推荐