【发布时间】:2014-05-19 21:19:41
【问题描述】:
我复制了列表的一个元素,但 id 仍然相同。
t=['bancorp', 'bancorp','bancorp ba','bancorp ali', 'gas eu', 'gas', 'karl', 'bancorp','bancorp america','uni','gas for','gas tr']
n=t[2]
id(n)
124661664
id(t[2])
124661664
我试过了,但 ID 还是一样:
n=cp.deepcopy(t[2])
如何使用不同的 ID 复制值?
编辑:
当我切片时:n=t[2:3][0]。 id不一样。
但是当我切片时:n=t[0:1][0]。身份证是一样的。为什么会这样?
【问题讨论】:
-
字符串是不可变的,所以复制它们从来没有用处。你想做什么?
-
我想要一个列表元素的独立副本,所以ID应该不同。检查我的编辑。
-
@CreamStat “独立副本”在这里不相关,因为字符串是不可变的;你不能就地改变它们。
-
@Creamstat 但为什么呢?拥有相同字符串的两个副本没有任何好处。
-
这与想要数字 2 的多个副本一样有意义。