Daftar Referensi Python

copy() adalah method list untuk membuat salinan dangkal (shallow copy). List baru memiliki objek berbeda, tetapi item bersarang di dalamnya masih dapat dirujuk bersama.

Sintaks

salinan = nama_list.copy()

Parameter

copy() tidak menerima parameter.

Nilai balik: list baru yang berisi item dari list asal.

Contoh

asli = [10, 20, 30]
salinan = asli.copy()

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

Coba di IDE

Output:

True
False

Contoh Lainnya

Mengubah salinan tidak mengubah list asal

asli = ["apel", "jeruk"]
salinan = asli.copy()

salinan.append("mangga")
print(asli)
print(salinan)

Coba di IDE

Output:

['apel', 'jeruk']
['apel', 'jeruk', 'mangga']

Item bersarang masih dirujuk bersama

asli = [[1, 2], [3, 4]]
salinan = asli.copy()

salinan[0].append(99)
print(asli)
print(salinan)

Coba di IDE

Output:

[[1, 2, 99], [3, 4]]
[[1, 2, 99], [3, 4]]

Alternatif dengan slicing

asli = [1, 2, 3]
salinan = asli[:]

salinan[0] = 100
print(asli)
print(salinan)

Coba di IDE

Output:

[1, 2, 3]
[100, 2, 3]

Kesalahan Umum

  • salinan = asli bukan menyalin list; kedua variabel menunjuk objek yang sama.
  • copy() hanya membuat salinan dangkal. Perubahan pada list atau dictionary bersarang dapat terlihat dari keduanya.
  • Untuk struktur bersarang yang benar-benar terpisah, gunakan copy.deepcopy().

Pelajari Lebih Lanjut