Daftar Referensi Python

copy() adalah method dictionary untuk membuat salinan dangkal. Dictionary baru terpisah dari dictionary asal, tetapi nilai berupa objek bersarang masih dapat dirujuk bersama.

Sintaks

salinan = nama_dict.copy()

Parameter

copy() tidak menerima parameter.

Nilai balik: dictionary baru yang berisi pasangan dari dictionary asal.

Contoh

asli = {"nama": "Budi", "usia": 18}
salinan = asli.copy()

print(asli == salinan)
print(asli is salinan)

Coba di IDE

Output:

True
False

Contoh Lainnya

Mengubah salinan tidak mengubah dictionary asal

asli = {"nama": "Budi", "usia": 18}
salinan = asli.copy()

salinan["usia"] = 19
print(asli)
print(salinan)

Coba di IDE

Output:

{'nama': 'Budi', 'usia': 18}
{'nama': 'Budi', 'usia': 19}

Nilai bersarang masih dirujuk bersama

asli = {"nilai": [80, 90]}
salinan = asli.copy()

salinan["nilai"].append(100)
print(asli)
print(salinan)

Coba di IDE

Output:

{'nilai': [80, 90, 100]}
{'nilai': [80, 90, 100]}

Alternatif dengan dict()

asli = {"a": 1, "b": 2}
salinan = dict(asli)

salinan["c"] = 3
print(asli)
print(salinan)

Coba di IDE

Output:

{'a': 1, 'b': 2}
{'a': 1, 'b': 2, 'c': 3}

Kesalahan Umum

  • salinan = asli hanya membuat alias, bukan dictionary baru.
  • copy() adalah salinan dangkal. List atau dictionary yang menjadi nilai masih dapat berubah dari kedua sisi.
  • Gunakan copy.deepcopy() jika semua objek bersarang juga harus disalin.

Pelajari Lebih Lanjut