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

2023-11-26

我该如何使用else惯用的 Python 语句for环形?没有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]

I get 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]


你已经很接近了,你只需要将三元移动到列表理解中你正在创建值的部分。

res = [i if i < 4 else 0 for i in range(1,6)] 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 惯用的 python for 循环 if else 语句 的相关文章

随机推荐