記事のディレクトリ
序文
Pythonで一般的に使用されるいくつかの基本的な知識を説明して整理します
『Python』 python基本チュートリアル(1)-基本的なデータ構造
1.ディープコピーとシャローコピー
1.1直接割り当て
参照のみがコピーされるため、前後の変数が分離されません。元のリストが変更されると、コピーされた変数も変更されます。
1.2浅いコピー
copy()関数を使用すると、リスト内のオブジェクトが参照されたまま、リストの最外周がコピーされます。
1.3ディープコピー
deepcopy()関数を使用すると、リストの内側と外側の両方がコピーされるため、前後の変数は参照されるのではなく完全に分離されます。
# 示例 demo
import copy
a = [1, 2, ["a","b"]]
b = a # 直接赋值,变量前后没有隔离
c = copy.copy(a) # 浅拷贝
d = a[:] # 相当于浅拷贝,与 c 相同
e = copy.deepcopy(a) # 深拷贝,前后两个变量完全隔离
a.append(3)
a[2].append("c")
print(a) # [1, 2, ["a", "b", "c"], 3]
print(b) # [1, 2, ["a", "b", "c"], 3]
print(c) # [1, 2, ["a", "b", "c"]]
print(d) # [1, 2, ["a", "b", "c"]]
print(e) # [1, 2, ["a","b"]]
注:私はまだそれを終えていません、私は忙しいです、戦いを更新し続けるために時間をかけてください...