【发布时间】:2022-11-12 08:48:39
【问题描述】:
我尝试修改数组“newTab”但没有使用tab.copy()但它总是修改原始数组。
tab = [[1]*2]*3
newTab = [None] * len(tab)
for i in range(0, len(tab)):
newTab[i] = tab[i]
newTab[0][0] = 2
print(tab)
[[2, 1], [2, 1], [2, 1]]
print(newTab)
[[2, 1], [2, 1], [2, 1]]
我也尝试过使用这样的东西:
a = b[:]
但它不起作用。
不知何故,原始数组始终是对新数组的引用。
我刚开始学习python,我们只能将基础知识用于家庭作业。所以我不允许使用 deepcopy() 之类的东西
任何帮助,将不胜感激!
【问题讨论】:
-
tab和newTab都指向同一个对象。除了复制列表之外,您实际上还想完成什么?