快捷导航

list赋值后,修改赋值后list,为什么原有list跟着改变?

a=[1,2,3]

b=a
b.remove(3)
print(a)
为什么是[1,2]
不是[1,2,3]?

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

因为list是可变类型,这其实就跟其他语言中的引用类型一样,就是说这种类型在赋给变量的时候实际变量存储的是指向这个数据的一个内存地址,也就是指针,当把这个变量赋给另一个变量的时候,实际上拷贝的是这个指针而不是数据,也就是说两个变量指向的是同一份数据,通过其中一个变量修改数据会影响另一个变量的值,因为它们共享同一份数据,只是变量名不一样而已
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP