7
如何在一個慣用的Python for
循環中使用else
語句?而不else
我可以寫例如:python慣用python for循環if 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]