我有以下清单
j=[4,5,6,7,1,3,7,5]
Run Code Online (Sandbox Code Playgroud)
返回[5,5,6,7,7]j大于或等于5的元素的最简单方法是什么?
如何else在惯用的Python for循环中使用语句?没有else我可以写例如:
res = [i for i in [1,2,3,4,5] if i < 4]
Run Code Online (Sandbox Code Playgroud)
结果是: [1, 2, 3]
上述代码的正常形式是:
res = []
for i in [1,2,3,4,5]:
if i < 4:
res.append(i)
Run Code Online (Sandbox Code Playgroud)
结果与惯用形式相同: [1, 2, 3]
我想要这个:
res = [i for i in [1,2,3,4,5] if i < 4 else 0]
Run Code Online (Sandbox Code Playgroud)
我得到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)
Run Code Online (Sandbox Code Playgroud)
结果是: [1, …