Python Language
データのコピー
サーチ…
浅いコピーを実行する
浅いコピーは、その要素のコピーを実行せずにコレクションのコピーです。
>>> import copy
>>> c = [[1,2]]
>>> d = copy.copy(c)
>>> c is d
False
>>> c[0] is d[0]
True
ディープコピーを実行する
ネストされたリストがある場合は、ネストされたリストも同様に複製することが望ましいです。この操作はディープコピーと呼ばれます。
>>> import copy
>>> c = [[1,2]]
>>> d = copy.deepcopy(c)
>>> c is d
False
>>> c[0] is d[0]
False
リストの浅いコピーを実行する
スライスを使用してリストの浅いコピーを作成できます。
>>> l1 = [1,2,3]
>>> l2 = l1[:] # Perform the shallow copy.
>>> l2
[1,2,3]
>>> l1 is l2
False
辞書をコピーする
辞書オブジェクトにはメソッドcopy
がありcopy
。辞書の浅いコピーを実行します。
>>> d1 = {1:[]}
>>> d2 = d1.copy()
>>> d1 is d2
False
>>> d1[1] is d2[1]
True
セットをコピーする
セットにはcopy
メソッドもありcopy
。このメソッドを使用して、シャローコピーを実行できます。
>>> s1 = {()}
>>> s2 = s1.copy()
>>> s1 is s2
False
>>> s2.add(3)
>>> s1
{[]}
>>> s2
{3,[]}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow