godtdd 发表于 2020-4-16 21:04:50

关于列表

>>> old =
>>> new = old
>>> old =
>>> print(new)

不是说用 x = y 这种复制 y 会根据 X变化而变化嘛,这里 old变成了 为什么nwe没有跟着变,但是如果是 old.sort的话 new就会跟着变呢。
这里是不是可以理解成赋值跟 什么.什么()这俩种是不同的方式{:5_111:}

zltzlt 发表于 2020-4-16 21:06:47

1. old = 就相当于将 old 指向另外一个列表 ,此时 old 和 new 就没有关系了。
2. old.sort() 并没有将另外一个列表赋值给 old,只是改变了 old 指向的列表,而 new 恰巧也指向了相同的列表,所以两者都会变。

老八秘制 发表于 2020-4-16 21:07:56

个人理解:
第一句,把这个列表贴上“old”标签
第二句,把上面的列表再贴上一个标签,名为“new”
第三句,把old标签撕下来,贴到这个列表上,而new的值是不会变化的

sunrise085 发表于 2020-4-16 21:19:19

python变量就是贴标签,
new=old是将new标签和old标签贴在了一起,
old=,是将old标签撕下来贴在了另一个上面。

可以看看我写的这个帖子,能解决你这个里面的所有疑问

godtdd 发表于 2020-4-16 21:29:03

谢谢大佬们我理解了,这个论坛好暖啊,我不是一个人在战斗{:5_91:}

godtdd 发表于 2020-4-16 21:29:52

sunrise085 发表于 2020-4-16 21:19
python变量就是贴标签,
new=old是将new标签和old标签贴在了一起,
old=,是将old标签撕下来贴在了另 ...

好的,我这边给你那个帖子收藏了

godtdd 发表于 2020-4-16 21:30:28

老八秘制 发表于 2020-4-16 21:07
个人理解:
第一句,把这个列表贴上“old”标签
第二句,把上面的列表再贴上一个标签,名为“ ...

谢谢 理解啦 哈哈

godtdd 发表于 2020-4-16 21:45:11

zltzlt 发表于 2020-4-16 21:06
1. old = 就相当于将 old 指向另外一个列表 ,此时 old 和 new 就没有关系了。
2. old.sort() 并没 ...

谢谢,请问怎么改成 已解决

zltzlt 发表于 2020-4-16 21:49:05

godtdd 发表于 2020-4-16 21:45
谢谢,请问怎么改成 已解决

现在已经是【已解决】了
页: [1]
查看完整版本: 关于列表