嗨我想複製一個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