我想以for
简洁、干净的方式在循环中使用条件。我可以重写这个吗
>>> for m in (m for m in range(10) if m < 5):
... print m
避免翻倍for m in ...
,还是有好看的一条线for
?
>>> for m in range(10) if m < 5: print m
File "<stdin>", line 1
for m in range(10) if m < 5: print m
^
这是我不想要的:
>>> for m in range(10):
... if m < 5:
... print m
我用python2.7
编辑
range(10)
,这只是一个玩具示例。例如,一个真实的用例将包括
for m in items if any(cond(item) for cond in conditions)
或者
for m in items if cond1(m) and cond2(m) or cond3(m)