问题描述
list = [1,2,3] # I want to change it to [2,3,4]
for number in list:
number += 1
print(list) # The result is still [1,3]
list = [1,3]
i = 1
while i<=len(list):
list[i-1] += 1
i += 1
print(list) # Now the result is [2,4]
我想知道第一个for循环不会更改值的原因
解决方法
我想知道第一个for循环不会更改值的原因
因为您没有将任何内容分配回列表,并且数字是不可变的。
如果您要修改可变对象(例如,列表:
>>>
>>> l = [[],[]]
>>> for x in l:
... x += [1] # append an element into the list object(s)
...
>>> l
[[1],[1]]
>>>