python-3.x 一个列表被附加到另一个列表中,另一个列表是第一个列表的副本,为什么这会创建无限嵌套的第一个列表?

wlzqhblo  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(83)

有两个列表r = [9,8,7]和h = [6,5,4],如果h被附加在r中,它会像预期的那样工作正常。但是如果h是r的新分配副本,h被附加在r中,那么它是无限嵌套的列表,h也和r一样,这怎么可能,一个附加函数会导致这种情况?

r = [9,8,7]
h = [6,5,4]
h = r
print(r, h)
r.append(h)
print(r)
print(h)

print(r[3][3][3])
print(h[3][3][3])

字符串

kx5bkwkv

kx5bkwkv1#

通过声明r = h,你并没有提到r的值和h的值是一样的。相反,你提到r和h是同一个。所以,在将h附加到r之后,它将h视为r并继续附加。
如果你想让另一个变量有相同的值,你可以使用

h = r.copy()

字符串

相关问题