Python 列表复制垃圾收集
Python List Copying Garbage Collection
我有一个列表 a
并将其设置为 [1, 2, 3, 4, 5]
。然后我将 b
设置为 a
。我的目标是制作 a
的两个独立版本,也就是说,我希望 b
改变而 a
不改变。
但是,当我从 b
中删除 5 时,a
变成 [1, 2, 3, 4]
,与 b
完全一样!
我的代码如下所示:
a = [1, 2, 3, 4, 5]
b = a
b.remove(5)
print(b, a)
这是我的输出:
[1, 2, 3, 4] [1, 2, 3, 4]
我怎样才能实现我的目标?
要复制 a,您可以使用:
b = a[:]
这个问题已经asked already。
或者您也可以加入列表:
a = [1,2,3,4,5]
b = a[:4]
print(a,b)
可以在不改变原列表的情况下使用下面的代码
a = [1,2,3,4,5]
b = a.copy()
我有一个列表 a
并将其设置为 [1, 2, 3, 4, 5]
。然后我将 b
设置为 a
。我的目标是制作 a
的两个独立版本,也就是说,我希望 b
改变而 a
不改变。
但是,当我从 b
中删除 5 时,a
变成 [1, 2, 3, 4]
,与 b
完全一样!
我的代码如下所示:
a = [1, 2, 3, 4, 5]
b = a
b.remove(5)
print(b, a)
这是我的输出:
[1, 2, 3, 4] [1, 2, 3, 4]
我怎样才能实现我的目标?
要复制 a,您可以使用:
b = a[:]
这个问题已经asked already。
或者您也可以加入列表:
a = [1,2,3,4,5]
b = a[:4]
print(a,b)
可以在不改变原列表的情况下使用下面的代码
a = [1,2,3,4,5]
b = a.copy()