Cara Menggabungkan Dua Daftar dengan Python (Menggabungkan & Memperluas)

Pelajari cara terbaik untuk menggabungkan dan menggabungkan dua daftar dengan Python. Bandingkan operator plus, metode perluasan, pembongkaran daftar, dan opsi rantai.

Coba Solusi ini di Editor

Ikhtisar

Menggabungkan kumpulan data daftar adalah operasi yang sering dilakukan saat menggabungkan hasil, memproses kumpulan data, atau menambahkan item ke koleksi. Python menyediakan beberapa cara untuk menggabungkan daftar, bergantung pada apakah Anda ingin mengubah daftar di tempat atau membuat daftar baru.

Untuk membuat daftar baru dengan menggabungkan dua daftar yang sudah ada, pendekatan paling mudah adalah menggunakan operator penggabungan `+` (misalnya, `list3 = list1 + list2`). Alternatifnya, diPython 3.5+, Anda dapat menggunakan sintaksis pembongkaran daftar `[*list1, *list2]`, yang sangat ekspresif dan memungkinkan Anda memasukkan elemen tambahan dengan mudah di mana pun dalam pembuatan daftar.

Jika Anda ingin mengubah daftar yang sudah ada dengan menambahkan elemen dari daftar lain, metode `.extend()` adalah pilihan yang paling efisien. Hal ini menghindari pengalokasian memori untuk daftar baru dan mengubah daftar target secara langsung. Untuk traversal daftar gabungan yang hemat memori tanpa menduplikasi data di memori, Anda dapat menggunakan `itertools.chain()`.

Kode & Output Eksekusi

Skrip ini mendemonstrasikan penggabungan dua daftar menggunakan teknik operator, perluasan, dan pembongkaran.

merge_lists.py
Coba di Editor
list_a = [1, 2, 3]
list_b = [4, 5, 6]

# 1. Plus operator (creates a new list)
merged_plus = list_a + list_b
print("Using + operator:", merged_plus)

# 2. Unpacking operator (creates a new list)
merged_unpack = [*list_a, *list_b]
print("Using unpacking:", merged_unpack)

# 3. Extend method (modifies list_a in-place)
list_a.extend(list_b)
print("After extending list_a:", list_a)
Keluaran Terminal
Using + operator: [1, 2, 3, 4, 5, 6]
Using unpacking: [1, 2, 3, 4, 5, 6]
After extending list_a: [1, 2, 3, 4, 5, 6]

Implementasi Langkah demi Langkah

  • Gunakan operator + untuk menggabungkan daftar dan mengembalikan daftar gabungan baru.
  • Panggil list_a.extend(list_b) untuk menambahkan semua elemen list_b langsung ke list_a.
  • Gunakan operator pembongkaran tanda bintang [*list_a, *list_b] untuk membuat daftar dari elemen keduanya.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara append() dan extend()?

append() menambahkan seluruh argumen daftar sebagai satu elemen bertumpuk, sedangkan extend() membongkar argumen daftar dan menambahkan setiap elemen satu per satu.

Bagaimana cara menggabungkan daftar sambil menghapus duplikat?

Anda dapat menggabungkannya lalu memasukkan hasilnya ke dalam satu set, atau mengonversinya menjadi set terlebih dahulu: list(set(list_a) | set(list_b)).

Topik Terkait

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.