【发布时间】:2022-01-01 02:45:49
【问题描述】:
我目前正在研究一位同事以前写的一些脚本,我的学士论文需要它们。
当我编写另一个脚本时,我遇到了以下问题:
listA = [......] #list is filled
listB = listA
listB.clear()
在这个 listA 也被清除后,我开始使用它:
listB = listA.copy()
我的同事在她的代码中这样做了
listA = [.......] #list is filled
listB = listA
functoin(listB)
listB = []
在那之后,她仍然以从未被清空过的方式使用 listA。但是由于 python 通过引用复制并不意味着命令:
listB = []
现在 listA 也是空的吗?
提前致谢
【问题讨论】:
-
listB = []使名称listB指向一个新的空列表对象。之后它不再链接到listA。 -
“我的同事”代码不是有效的 Python。
-
如果你想要一个新的空列表,为什么要分配
listB = listA根本?