如何修改列表到位

时间:2018-06-16 08:37:52

标签: python python-3.x

我想为列表中的每个元素添加1而不创建新的

i = [1,2,3,4,5]
for each in i:
    i[i.index(each)] = each+1
print(i)

但它会像这样返回......

[6,2,3,4,5]

似乎在第一个元素中添加了一个..但我想为每个元素添加一个..

3 个答案:

答案 0 :(得分:5)

lst = [1,2,3,4,5]
for i, x in enumerate(lst):
    lst[i] = x + 1
print(lst)

<强>输出

[2, 3, 4, 5, 6]

答案 1 :(得分:0)

在下次i.index(每个)总是返回第一个元素

时递增1
for idx in range(len(i)):i[idx]+=1

答案 2 :(得分:-1)

尝试使用列表中的range

<强>实施例

i = [1,2,3,4,5]
for each in range(len(i)):
    i[each]= i[each]+1
print(i)

<强>输出:

[2, 3, 4, 5, 6]