我以两种方式添加列表本身。在输出中,更新列表的存储位置有时与父列表匹配,有时不匹配。 我可以知道这个的解释吗?
在第一种情况下,我使用+运算符进行了检查,并将结果分配给列表引用。 但是在第二种情况下,我使用+ =运算符。
第一种情况:
x=[1,2,3]
print(x, id(x))
x+=x
print(x, id(x))
输出:
[1, 2, 3] 88777032
[1, 2, 3, 1, 2, 3] 88777032
第二种情况:
y=[1,2,3]
print(y, id(y))
y=y+y
print(y, id(y))
输出:
[1, 2, 3] 88297352
[1, 2, 3, 1, 2, 3] 88776904
答案 0 :(得分:1)
第一种情况:
x += x
只是通过添加x来扩展现有的x
第二种情况:
y = y+y
通过将y两次连接(y和y)来创建新列表,然后将结果分配给新创建的对象y