7
慣用のPython for
ループでelse
文を使用するにはどうすればよいですか? else
がなければ私は、例えばを書くことができます:Pythonの慣用句python for else else文
res = [i for i in [1,2,3,4,5] if i < 4]
結果は次のとおりです。[1, 2, 3]
上記のコードの標準形は次のとおりです。
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
結果は慣用形と同じです:[1, 2, 3]
これが欲しい:
res = [i for i in [1,2,3,4,5] if i < 4 else 0]
SyntaxError: invalid syntax
となります。結果は次のようになります。[1, 2, 3, 0, 0]
この通常のコードは次のとおりです。
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
else:
res.append(0)
結果は次のとおりです。[1, 2, 3, 0, 0]