乡亲,
我想用list comprehension修改list元素.例如,如果元素为负数,则为其添加4.
因此列表
a = [1, -2 , 2]
Run Code Online (Sandbox Code Playgroud)
将被转换为
a = [1, 2, 2]
Run Code Online (Sandbox Code Playgroud)
以下代码有效,但我想知道是否有更好的方法来做到这一点?
谢谢.
for i in range(len(a)):
if a[i]<0:
a[i] += 4
Run Code Online (Sandbox Code Playgroud) 我不确定为什么我无法*=在列表理解中使用运算符,在for循环中使用它时可以吗?
def funcLC(l):
ans = 1
[ans *= x for x in l if x < 0]
return ans
SyntaxError: invalid syntax
def funcFor(l):
ans = 1
for x in l:
if x < 0:
start *= x
return ans
Run Code Online (Sandbox Code Playgroud)