nos*_*nos 9 python list-comprehension
乡亲,
我想用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)
Ben*_*enH 16
a = [b + 4 if b < 0 else b for b in a]
Run Code Online (Sandbox Code Playgroud)
如果您想要就地更改列表,这几乎是最好的方法.列表理解将创建一个新列表.您也可以使用enumerate,并且必须完成分配a[i]:
for i, x in enumerate(a):
if x < 0:
a[i] = x + 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11920 次 |
| 最近记录: |