嗨我想复制一个2D列表,这样如果我修改1个列表,另一个不会被修改。在Python中复制2D列表
对于1个d名单,我只是这样做:
a = [1,2]
b = a[:]
现在,如果我修改B,A不被修改。
但这并不二维表的工作:
a = [[1,2],[3,4]]
b = a[:]
如果我修改B,A被修改为好。
我该如何解决这个问题?
嗨我想复制一个2D列表,这样如果我修改1个列表,另一个不会被修改。在Python中复制2D列表
对于1个d名单,我只是这样做:
a = [1,2]
b = a[:]
现在,如果我修改B,A不被修改。
但这并不二维表的工作:
a = [[1,2],[3,4]]
b = a[:]
如果我修改B,A被修改为好。
我该如何解决这个问题?
b = [x[:] for x in a]
+1因为合适。我个人喜欢避免复制/深层复制(在现实生活中很少有他们的有效用例;对于超过2维的列表我们也可以这么说) – ChristopheD 2010-03-29 23:16:51
一大堆,当人们用户嵌套表,需要给他们以这种方式拷贝的时候,他们真的想要使用'numpy'。 – 2010-03-29 23:23:18