for
簡潔でクリーンな方法でループ内の条件を使用したい。これ書き直そうかな
>>> for m in (m for m in range(10) if m < 5):
... print m
doubled を回避しfor m in ...
、それでも素敵な 1 行があり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)