python惯用python for循环if-else语句

python惯用python for循环if-else语句,python,if-statement,for-loop,idioms,Python,If Statement,For Loop,Idioms,如何在惯用Pythonfor循环中使用else语句?没有else我可以写,例如: res = [i for i in [1,2,3,4,5] if i < 4] 结果与惯用形式相同:[1,2,3] 我想要这个: res = [i for i in [1,2,3,4,5] if i < 4 else 0] 结果是:[1,2,3,0,0]如果很接近,只需将三元数移动到列表中创建值的部分即可 res = [i if i < 4 else 0 for i in range(1,6)

如何在惯用Python
for
循环中使用
else
语句?没有
else
我可以写,例如:

res = [i for i in [1,2,3,4,5] if i < 4]
结果与惯用形式相同:
[1,2,3]

我想要这个:

res = [i for i in [1,2,3,4,5] if i < 4 else 0]

结果是:
[1,2,3,0,0]

如果很接近,只需将三元数移动到列表中创建值的部分即可

res = [i if i < 4 else 0 for i in range(1,6)] 
res=[i如果i<4,则在(1,6)范围内的i为0]
res = []
for i in [1,2,3,4,5]:
    if i < 4:
        res.append(i)
    else:
        res.append(0)
res = [i if i < 4 else 0 for i in range(1,6)]