ladynora 发表于 2020-4-2 15:44:46

简单的列表问题

一道作业题,就是我总觉得new = old,old既然已经是了,new不是变成了吗?为什么还是?{:9_241:}
>>> old =
>>> new = old
>>> old =
>>> print(new)

返回

谢谢!

qiuyouzhi 发表于 2020-4-2 15:46:41

就和贴标签一样。
你把old的标签撕下来,贴到上
这时它和new已经没有任何关系了
(用列表的内置方法是没有问题的)

qiuyouzhi 发表于 2020-4-2 15:51:47

>>> a =
>>> b = a
>>> id(a)
2474724173632
>>> id(b)
2474724173632
>>> b =
>>> id(a)
2474724173632
>>> id(b)
2474724526656
>>> # 他俩就没有关系了!
>>> # 再举一个例子:
>>> a =
>>> b = a
>>> id(a)
2474724527104
>>> id(b)
2474724527104
>>> a.append(6)
>>> a

>>> b

>>> # 这样是不会改变标签的

heidern0612 发表于 2020-4-2 15:54:43

本帖最后由 heidern0612 于 2020-4-2 15:58 编辑

变量只是对内存地址的引用,实际的列表是永久存在在内存中的。

也就是说,变量只相当于人的称呼,人始终是不变化的。

之前你(列表)的称呼叫煤黑子(old),后来别人又管煤黑子(也就是你)叫狗蛋(new)。

有一天来了个黑人(列表),别人把你原先的这个称呼煤黑子(old)的头衔给他了。

那你说你是不是还叫狗蛋(new)?
页: [1]
查看完整版本: 简单的列表问题