我知道如何在单独的行上同时使用for循环和if语句,例如:
>>> a = [2,3,4,5,6,7,8,9,0] ... xyz = [0,12,4,6,242,7,9] ... for x in xyz: ... if x in a: ... print(x) 0,4,6,7,9
而且我知道当语句很简单时,我可以使用列表推导来组合这些内容,例如:
print([x for x in xyz if x in a])
但是我找不到一个很好的例子,可以在任何地方(复制和学习)演示一组复杂的命令(不仅仅是“ print x”),这些命令是在for循环和某些if语句组合后发生的。我期望的是:
for x in xyz if x not in a: print(x...)
这不是python应该工作的方式吗?
您可以使用以下生成器表达式:
gen = (x for x in xyz if x not in a) for x in gen: print x