手动替换列表中的元素

Ale*_*emo 1 python list python-2.7

例:

a = [1,2,3,2,4,2,5]
for key in a:
    if key == 2:
        key = 10
print key
Run Code Online (Sandbox Code Playgroud)

结果: [1,10,3,10,4,10,5]

我需要Python手动"询问"要替换哪些元素.

Ash*_*ary 7

>>> a = [1,2,3,2,4,2,5]
>>> a[:] = [10 if x==2 else x for x in a]
>>> a
[1, 10, 3, 10, 4, 10, 5]
Run Code Online (Sandbox Code Playgroud)

如果要替换多个项目,请考虑使用dict:

>>> dic = {2 : 10}
>>> a[:] = [dic.get(x,x) for x in a]
>>> a
[1, 10, 3, 10, 4, 10, 5]
Run Code Online (Sandbox Code Playgroud)