桨声 发表于 2021-5-8 22:39:29

有关列表的拷贝

    >>> old =
    >>> new = old
    >>> old =
    >>> print(new)
为什么会打印:
谢谢

qq1151985918 发表于 2021-5-8 22:43:36

列表的赋值关键是看 id 的指向,跟变量名无关。地址指向相同那么变量就一样,地址指向不同,变量就不一样

五岁能抬头 发表于 2021-5-9 09:28:06

new是对old的浅拷贝,old = 是给old这个名字重新赋值为,与第一个old已经是不同的变量了,所以不会影响new的值,如果你只是修改old其中的某个元素,new中的元素会跟着一起改变

heyazhi 发表于 2021-5-9 11:32:50

可以把old和new看成是标签,刚开始都贴在第一个列表上,之后old修改贴在了第二个列表上,但是new还是贴在第一个列表上,所以打印new还是第一个列表。

Twilight6 发表于 2021-6-16 22:55:11


可以看看这篇文章:

【已解决】Python old new 列表问题
https://fishc.com.cn/thread-196779-1-1.html

页: [1]
查看完整版本: 有关列表的拷贝