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]