在Python中复制2D列表
您好我想复制一个2D列表,这样,如果我修改1列表,另一个不被修改。
对于1D列表,我只是这样做的:
a = [1,2] b = a[:]
而现在如果我修改b,a不会被修改。
但是这不适用于2D列表:
a = [[1,2],[3,4]] b = a[:]
如果我修改b,a也会被修改。
我该如何解决?
对于一个更通用的解决scheme,无论维数如何,都可以使用copy.deepcopy()
:
import copy b = copy.deepcopy(a)
b = [x[:] for x in a]