猿问

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

a=[1,2,3]

b=a

b.remove(3)

print(a)

为什么是[1,2]

不是[1,2,3]?

慕雪2273792
浏览 2407回答 1
1回答

橋本奈奈未

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

相关分类

Python
我要回答