为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕雪2273792 2019-09-14 16:46:47
a=[1,2,3]b=ab.remove(3)print(a)为什么是[1,2]不是[1,2,3]?
查看完整描述

1 回答

已采纳
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

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

查看完整回答
1 反对 回复 2019-09-14
  • 1 回答
  • 0 关注
  • 2398 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信