(python)列表append之后,列表中其它元素也跟着改变
程序员文章站
2022-05-29 18:52:41
...
(python)列表append之后,列表中其它元素也跟着改变
while len(mobile) != 0:
mobile.sort()
k = mobile[-1]
reverse(t, k)
reverseall(t, k)
mobile = findMobile(t)
r.append(t)
代码比较粗略,主要流程是 每次循环的过程中,修改t的元素,将t利用append方法加入到列表t中.最后输出的时候,列表输出n次相同元素
产生原因:
append(t)的时候传递的是t的地址,而且列表list是可变的,list当中的所有元素其实是指向同一内存的相同元素. 当t的数据发生变化时,其余数据也发生变化
解决方案:
可以这么写 li.append([x for x in t])
反思:
对于引用理解不透彻
上一篇: 【数据库】连接查询两表数据
下一篇: 爱是人间的限量版天堂(组诗)