Lewati ke konten utama

Python Copy List: Hal yang Perlu Anda Ketahui

Pahami cara menyalin list di Python. Pelajari cara menggunakan fungsi copy() dan list(). Ketahui perbedaan antara shallow copy dan deep copy.
Diperbarui 28 Sep 2026  · 7 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

List di Python adalah struktur data yang kuat untuk menyimpan sekumpulan item. Metode menyalin list penting saat menangani data karena membantu menjaga list asli tetap utuh sambil melakukan operasi pada salinannya. Dalam tutorial ini, saya akan menjelaskan teknik dasar dan lanjutan untuk menyalin list dengan contoh praktis.

Sebelum mengeksplorasi berbagai contoh, saya merekomendasikan mengikuti kursus Introduction to Python dari DataCamp untuk mempelajari dasar-dasar Python, termasuk berbagai struktur data Python. Lembar Contekan Python untuk Pemula juga akan membantu sebagai referensi berbagai fungsi dan metode.

Python menggunakan mesin fotokopi

"Python menggunakan mesin fotokopi." Gambar oleh Dall-E.

Jawaban Singkat: Cara Menyalin List di Python

Contoh di bawah menunjukkan cara menyalin list di Python menggunakan metode copy(). Perhatikan bahwa list asli tetap tidak berubah meskipun ada perubahan pada list salinan. Kode akan mencetak [1, 2, 3].

# Define the original list
original_list = [1, 2, 3]

# Create a shallow copy of the original list
copied_list = original_list.copy()

# Modify the first element of the copied list
copied_list[0] = 99

print(original_list)
[1, 2, 3]

Lebih Banyak Teknik untuk Menyalin List di Python

Sebelum melihat berbagai teknik untuk menyalin list di Python, mari pertimbangkan mengapa kita tidak menggunakan operator penugasan =. Kita tidak menggunakan = karena hal itu sebenarnya tidak membuat salinan list. Operator penugasan hanya akan membuat referensi ke list kita. 

Pada contoh berikut, original_list dan reference_to_original_list merujuk ke list yang sama setelah penugasan.

# Create a list called original_list
original_list = [1, 2, 3]

# Create a new reference copied_list that points to the same list as original_list
reference_to_original_list = original_list

Di sini, modifikasi apa pun pada list duplikat akan memengaruhi list asli dan sebaliknya. Perubahan ini terjadi karena kedua list disimpan pada memori yang sama. Sekarang, mari kita lihat berbagai cara untuk benar-benar menyalin list kita. 

Menggunakan metode copy()

Metode copy() adalah metode bawaan yang digunakan untuk membuat shallow copy dari list. Metode copy() tersedia mulai Python 3.3. Metode ini hanya menyalin struktur list tingkat atas. Sintaks metode copy() ditunjukkan di bawah.

new_list = original_list.copy()

Pada contoh berikut, kode akan mencetak [1, 2, 3, 4].

# Original list with nested structure
original_list = [1, 2, 3, 4]

# Create a shallow copy using the copy() method
shallow_copied_list = original_list.copy()

print(shallow_copied_list)
[1, 2, 3, 4]

Menggunakan konstruktor list()

Konstruktor list() digunakan untuk membuat list baru dari list yang ada untuk menyertakan semua elemen dari list asli. Teknik ini penting saat membuat objek list baru di mana perubahan pada list salinan tidak akan memengaruhi list asli. Kode berikut mencetak [1, 2, 3].

# Create a list called original_list
original_list = [1, 2, 3]

# Create a shallow copy of original_list using the list() function
copied_list = list(original_list)

# Modify the first element of copied_list
copied_list[0] = 99

print(original_list)
[1, 2, 3]

Menggunakan pemotongan list dengan [:]

Pemotongan list [:] menyediakan cara ringkas untuk membuat shallow copy dari sebuah list. Metode pemotongan list [:] efisien karena diimplementasikan pada level rendah di Python. Di bawah ini adalah sintaks dari metode ini. 

new_list = original_list[:]

Kode berikut mencetak [1, 2, 3].

# Create a list called original_list
original_list = [1, 2, 3]

# Create a shallow copy of original_list using list slicing
copied_list = original_list[:]

# Modify the first element of copied_list
copied_list[0] = 99

print(original_list)
[1, 2, 3]

Dalam konteks ini, kita menggunakan metode pemotongan list untuk menyertakan semua isi list, tetapi dalam konteks lain, slicing dapat digunakan untuk membuat sublist dengan menentukan indeks awal dan akhir.

Perbandingan Shallow Copy vs. Deep Copy di Python

Memahami perbedaan antara shallow copy dan deep copy penting untuk mencegah transformasi data yang tidak diinginkan. 

  • Shallow copy hanya menyalin elemen tingkat atas dari list dan tidak memengaruhi list bersarang atau objek mutable di dalam list yang mereferensikan objek yang sama. Perubahan yang dilakukan pada objek mutable akan memengaruhi baik list asli maupun list salinan.
  • Deep copy menyalin semua elemen secara rekursif, termasuk list bersarang dan objek mutable, sehingga membuat salinan yang independen. Perubahan pada objek bersarang di list salinan tidak akan memengaruhi list asli.

Saya merekomendasikan menggunakan fungsi copy.copy() untuk shallow copy dan fungsi copy.deepcopy() untuk deep copy. 

Metode

Shallow Copy

Deep Copy

copy()

✓

✗

konstruktor list()

✓

✗

Pemotongan List [:]

✓

✗

copy.copy()

✓

✗

copy.deepcopy()

✗

✓

Cara Menyalin List Bersarang di Python

Saat menangani list bersarang atau struktur data yang kompleks, diperlukan metode penyalinan list yang lebih canggih. Mari kita lihat berbagai teknik untuk menangani list bersarang.

Menggunakan copy.copy()

Modul copy menyediakan fungsi copy() yang membuat shallow copy dari sebuah list. Fungsi copy() lebih eksplisit dibanding menggunakan konstruktor list() atau pemotongan list [:]. Anda dapat menggunakan metode ini saat ingin menekankan pembuatan shallow copy demi meningkatkan keterbacaan.

Contoh di bawah menunjukkan cara melakukan shallow copy pada list bersarang. Kode akan mencetak [1, 2, [99, 4]] karena list bersarangnya masih objek yang sama.

# Import the copy module to access the copy.copy() function
import copy

# Original list with nested structure
original_list = [1, 2, [3, 4]]

# Create a shallow copy using copy.copy()
shallow_copied_list = copy.copy(original_list)

# Modifying the nested list in the copied list
shallow_copied_list[2][0] = 99

print(original_list)
[1, 2, [99, 4]]

Menggunakan copy.deepcopy()

Fungsi deepcopy() juga tersedia di modul copy. Fungsi ini membuat deep copy dari list, menduplikasi list itu sendiri dan semua objek bersarang. Fungsi deepcopy() penting saat bekerja dengan objek mutable di dalam list karena memastikan perubahan pada list salinan tidak memengaruhi list asli.

Kode di bawah mencetak [1, 2, [3, 4]].

# Import the copy module to access the copy.deepcopy() function
import copy

# Original list with nested structure
original_list = [1, 2, [3, 4]]

# Create a deep copy using copy.deepcopy()
deep_copied_list = copy.deepcopy(original_list)

# Modifying the nested list in the copied list
deep_copied_list[2][0] = 99

print(original_list)
[1, 2, [3, 4]]

Kesimpulan

Memahami cara menyalin list di Python penting untuk manipulasi data yang efisien. Dalam tutorial ini, kita mempelajari berbagai metode untuk menyalin list di Python dan meninjau beberapa perbedaan antara metode shallow copy dan deep copy. Sebagai analis data, memilih teknik penyalinan list yang sesuai berdasarkan kebutuhan spesifik Anda sangatlah penting. Saya mendorong Anda untuk mempraktikkan metode yang dibahas agar lebih memahami kasus penggunaannya.

Ikuti jalur keterampilan Python Programming dari DataCamp untuk meningkatkan kemampuan pemrograman Anda dengan teknik terbaik. Saya juga mendorong Anda untuk melihat jalur karier Python Developer dan Data Analyst with Python kami untuk terus membangun keterampilan praktis yang relevan dengan pekerjaan.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara shallow copy dan deep copy?

Metode shallow copy membuat list baru sambil mereferensikan nilai yang sama seperti list asli sehingga perubahan pada objek di list salinan memengaruhi list asli. Deep copy membuat list baru dan memasukkan nilai dari list asli secara rekursif, sehingga perubahan pada objek bersarang di list salinan tidak memengaruhi list asli.

Apa saja metode untuk membuat shallow copy di Python?

Anda dapat membuat shallow copy dari sebuah list menggunakan metode copy(), pemotongan list [:], konstruktor list(), atau fungsi copy() dari modul copy.

Bagaimana cara membuat deep copy dari sebuah list di Python?

Anda dapat membuat deep copy dari sebuah list menggunakan fungsi deepcopy() dari modul copy.

Topik
Python
Analisis Data

Belajar Python bersama DataCamp

{count, plural, one {Kursus} other {Kursus}}

Pengantar Python

{hours} jam
7.1M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya