2024-09-25 08:41:17 发布
网友
我创建了一个包含三个名为l的元素的列表,然后我将列表的所有内容复制到列表y中。但是当我在内存中打印它们的地址时,我不明白为什么这不是同一个地址。为什么y不是l的参照物,如果我想的话,y将是l的参照物,这样他们就有了相同的地址。我该怎么做?你知道吗
这是我的密码
l = [8,12,3] y = l[:] print l print y print id(l) print id(y)
在屏幕上显示:
[8, 12, 3] [8, 12, 3] 40894592 40837072
因为列表的一部分创建了一个新的列表。id返回每个列表的地址。你知道吗
[:]将l的内容复制到一个新列表y,因此它们需要位于不同的地址。要使y成为l的引用,只需编写
[:]
l
y
y = l
一个很好的观点是如果你写这个声明
l = [8,12,3],
Python创建从对象l到列表[8, 12, 3]的指针。你知道吗
[8, 12, 3]
万一你说了这句话
y = l,
然后对象y指向l,如果更改l,y也将更改。你知道吗
以防你写信
y = list(l),
对象y指向一个新列表。如果修改l,y中的值保持不变。你知道吗
因为列表的一部分创建了一个新的列表。id返回每个列表的地址。你知道吗
[:]
将l
的内容复制到一个新列表y
,因此它们需要位于不同的地址。要使y
成为l
的引用,只需编写一个很好的观点是如果你写这个声明
Python创建从对象
l
到列表[8, 12, 3]
的指针。你知道吗万一你说了这句话
然后对象
y
指向l
,如果更改l
,y
也将更改。你知道吗以防你写信
对象
y
指向一个新列表。如果修改l
,y
中的值保持不变。你知道吗相关问题 更多 >
编程相关推荐