我知道如何在单独的行上同时使用 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])
但是我在任何地方都找不到一个很好的例子(复制和学习),它展示了在 for 循环和一些 if 语句的组合之后发生的一组复杂的命令(不仅仅是“打印 x”)。我期望的东西看起来像:
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)