Python copy()関数の使い方:浅いコピーと深いコピー
copy()関数は、リストや辞書、セットなどの変更可能なデータ型のオブジェクトをコピーし、新しいオブジェクトを返します。元のオブジェクトへの参照ではなく、新しいオブジェクトが返されます。この関数の使い方は以下の通りです:
- リストをコピーする:
original_list = [1, 2, 3, 4, 5]
copied_list = original_list.copy()
print(copied_list) # [1, 2, 3, 4, 5]
- 辞書を複製する:
original_dict = {'a': 1, 'b': 2, 'c': 3}
copied_dict = original_dict.copy()
print(copied_dict) # {'a': 1, 'b': 2, 'c': 3}
- コピー集合:
original_set = {1, 2, 3, 4, 5}
copied_set = original_set.copy()
print(copied_set) # {1, 2, 3, 4, 5}
copy()関数はオブジェクト自体をコピーするだけであり、オブジェクト内部に可変要素(リストや辞書など)が含まれている場合、コピーされたオブジェクトと元のオブジェクトはこれら可変要素を共有してしまいます。そのため、可変要素を変更すると、元のオブジェクトとコピーされたオブジェクトの両方に影響を与えます。完全に独立したコピーが必要な場合は、deepcopy()関数を使用することができます。