Python-如何深层复制列表?

Python-如何深层复制列表?,第1张

Python-如何深层复制列表

E0_copy
不是深层副本。你不使用做出深层副本
list()(
两者
list(...)
testList[:]
很浅拷贝)。

copy.deepcopy(...)
用于深度复制列表

deepcopy(x, memo=None, _nil=[])    Deep copy operation on arbitrary Python objects.

请参阅以下代码段

>>> a = [[1, 2, 3], [4, 5, 6]]>>> b = list(a)>>> a[[1, 2, 3], [4, 5, 6]]>>> b[[1, 2, 3], [4, 5, 6]]>>> a[0][1] = 10>>> a[[1, 10, 3], [4, 5, 6]]>>> b   # b changes too -> Not a deepcopy.[[1, 10, 3], [4, 5, 6]]

现在看deepcopy *** 作

>>> import copy>>> b = copy.deepcopy(a)>>> a[[1, 10, 3], [4, 5, 6]]>>> b[[1, 10, 3], [4, 5, 6]]>>> a[0][1] = 9>>> a[[1, 9, 3], [4, 5, 6]]>>> b    # b doesn't change -> Deep Copy[[1, 10, 3], [4, 5, 6]]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5145613.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存