一尘不染

在Python中复制嵌套列表

python

我想复制一个2D列表,以便如果我修改一个列表,则不修改另一个列表。

对于一维列表,我只是这样做:

a = [1, 2]
b = a[:]

现在,如果我修改了b,a就不会修改。

但这不适用于二维列表:

a = [[1, 2],[3, 4]]
b = a[:]

如果我修改了b,a也会被修改。

我该如何解决?


阅读 469

收藏
2020-02-20

共1个答案

一尘不染

对于不管尺寸多少都可以工作的更通用的解决方案,请使用copy.deepcopy()

import copy
b = copy.deepcopy(a)
2020-02-20