Cara Menggunakan Fungsi zip() Python untuk Menggabungkan Data

Fungsi zip() dalam Python adalah alat yang ampuh untuk menggabungkan iterable (seperti daftar atau tuple) menjadi satu iterable. Fungsi ini dapat sangat berguna ketika Anda perlu memasangkan elemen dari beberapa sekuens. Dalam artikel ini, kita akan membahas cara menggunakan zip() untuk menggabungkan data secara efisien.

Apa Fungsi zip()?

Fungsi zip() mengambil beberapa iterable sebagai argumen dan mengembalikan iterator tuple. Setiap tuple berisi elemen dari posisi iterable input yang sesuai. Ini berguna untuk menggabungkan data dari urutan paralel.

Penggunaan Dasar

Berikut contoh sederhana cara menggunakan zip() untuk menggabungkan dua daftar:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))

Keluaran:

[(1, 'a'), (2, 'b'), (3, 'c')]

Dalam contoh ini, list1 dan list2 digabungkan per elemen, sehingga menghasilkan daftar tupel.

Menangani Iterabel dengan Panjang Berbeda

Jika iterabel masukan memiliki panjang yang berbeda, zip() berhenti membuat tupel saat iterabel terpendek habis. Berikut contohnya:

list1 = [1, 2, 3, 4]
list2 = ['a', 'b', 'c']

zipped = zip(list1, list2)
print(list(zipped))

Keluaran:

[(1, 'a'), (2, 'b'), (3, 'c')]

Perhatikan bahwa tupel yang berisi '4' tidak disertakan karena list2 tidak memiliki elemen yang sesuai.

Mengekstrak Data

Anda juga dapat menggunakan zip() untuk unzip daftar tuple. Ini melibatkan pemisahan data gabungan kembali ke dalam daftar individual:

zipped = [(1, 'a'), (2, 'b'), (3, 'c')]

list1, list2 = zip(*zipped)
print(list1)
print(list2)

Keluaran:

(1, 2, 3)
('a', 'b', 'c')

Di sini, operator * digunakan untuk membongkar daftar tupel, dan zip() digunakan untuk mengelompokkan kembali elemen yang bersesuaian ke dalam tupel terpisah.

Aplikasi Praktis

Fungsi zip() sering digunakan dalam skenario praktis seperti:

  • Menggabungkan data dari daftar paralel, misalnya nama dan usia.
  • Membuat kamus dari dua daftar, yang mana satu daftar berisi kunci dan daftar lainnya berisi nilai.
  • Mengulangi beberapa daftar secara paralel dalam satu lingkaran.

Contoh: Membuat Kamus

Berikut contoh penggunaan zip() untuk membuat kamus dari dua daftar:

keys = ['name', 'age', 'city']
values = ['Alice', 30, 'New York']

dictionary = dict(zip(keys, values))
print(dictionary)

Keluaran:

{'name': 'Alice', 'age': 30, 'city': 'New York'}

Dalam contoh ini, zip() memasangkan setiap kunci dengan nilai yang sesuai, dan fungsi dict() mengubah pasangan tersebut menjadi kamus.

Kesimpulan

Fungsi zip() adalah alat serbaguna untuk menggabungkan dan mengelola data dalam Python. Baik Anda menggabungkan daftar, mengekstrak data, atau membuat kamus, memahami cara menggunakan zip() secara efektif dapat menyederhanakan kode dan meningkatkan keterampilan pemrograman Anda.