直接上代码:
L = [1,2,3,4,5]
for x in L:
x -= 1
print(L)
结果是:
[1, 2, 3, 4, 5]
分析:for x in L语句中,拿到的x只是一个拷贝。想修改x的值,需要:
L = [1,2,3,4,5]
for i in range(len(L)):
L[i] -= 1
print(L)
结果是:
[0, 1, 2, 3, 4]
总结:python 'for x in list’遍历时,传递的x是拷贝,直接对其赋值无效(但在x上调用方法是可以的)。要想修改list中x的值,需要用List[i]=xxx的方式!