x循环的(1,len(a)-1)是为了:变化的项不包括第0项也就是1,也不包括最后一项1,只变化在中间的项
不懂哪里出了问题
这是大概是列表的浅拷贝与深拷贝的问题了
c=a 这一句,实际上是把 a 引用给 c,而并非把 a 赋值给 c,也就是说,c与a只是同一个变量的不同名字,或者说是别名
那么在修改a的同时,c也会被修改,因为它们实际是指向同一个变量
对于一维列表正确的做法如下(推荐第一种,都是浅拷贝)
c = a[:]#法一,本质为切片
c = a.copy()#法二
c = eval(str(a))#法三
对于高维列表,就要用深拷贝
from copy import deepcopy#法一
c = deepcopy(a)
c = eval(str(a))#法二
综上:解决办法为将 c = a 改为 c = a[:]
c=a的问题吧,使得c和a是同一个列表
改为 c = a.copy()