列出理解情况或条件

2024-09-24 20:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

当计算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']


Tags: orinforif编译器statusxtopt
2条回答

如果您将“or语句”切换为“and语句”,则会起作用,因为在这种情况下,“or语句”的计算结果始终为true

它应该是x != '0' **and** x !='-1'。我知道你说的“人语”是什么意思- 既不是0也不是-1,但对于计算机来说,这是“不是0,也不是-1”。所以-1是可以的,因为它不是0,计算机是满意的。因此,您需要做的就是将or更改为and

相关问题 更多 >