Python adalah bahasa pemrograman yang kuat dan fleksibel, memungkinkan kita melakukan berbagai operasi pada data dengan cukup mudah. Salah satu fungsi bawaan yang sering digunakan adalah zip()
, yang memungkinkan pengguna untuk menggabungkan dua atau lebih iterable (seperti list, tuple, atau set) menjadi tuple. Dalam artikel ini, kita akan membahas cara menggunakan fungsi zip()
di Python untuk menggabungkan dua iterable menjadi tuple, serta beberapa contoh dan penggunaannya secara praktis.
Apa Itu Iterable?
Sebelum kita mencelupkan lebih dalam ke fungsi zip()
, mari kita bahas terlebih dahulu apa yang dimaksud dengan iterable. Iterable adalah objek Python yang dapat diiterasi, yaitu objek yang dapat dilalui dalam sebuah loop. Contoh umum dari iterable adalah:
- List
- Tuple
- String
- Set
- Dictionary (key atau value-nya)
Fungsi zip() di Python
Fungsi zip()
adalah fungsi built-in di Python yang digunakan untuk menggabungkan beberapa iterable menjadi tuple. Fungsi ini mengambil satu atau lebih iterable sebagai argumen dan mengembalikan iterator yang menghasilkan tuple yang berisi elemen-elemen dari iterable tersebut yang memiliki indeks yang sama.
Sintaks dasar zip()
zip(*iterables)
*iterables
: Satu atau lebih iterable yang akan digabungkan.
Contoh Penggunaan
Mari kita lihat beberapa contoh penggunaan fungsi zip()
untuk menggabungkan dua iterable.
Contoh 1: Menggabungkan Dua List
Misalkan kita memiliki dua list, nama
dan umur
, dan kita ingin menggabungkannya menjadi satu list yang berisi tuple pasangan nama dan umur.
# List contoh
nama = ["Alice", "Bob", "Charlie"]
umur = [25, 30, 35]
# Menggunakan fungsi zip()
hasil = zip(nama, umur)
# Mengubah hasil menjadi list
hasil_list = list(hasil)
print(hasil_list)
Output:
[('Alice', 25), ('Bob', 30), ('Charlie', 35)]
Dalam contoh di atas, kita menggabungkan dua list nama
dan umur
menjadi list yang berisi tuple. Setiap tuple berisi pasangan nama dan umur yang sesuai.
Contoh 2: Menggabungkan Dua Tuple
Kita juga bisa menggunakan zip()
untuk menggabungkan tuple. Mari lihat contohnya:
# Tuple contoh
warna = ("Merah", "Hijau", "Biru")
kode = (1, 2, 3)
# Menggunakan fungsi zip()
hasil = zip(warna, kode)
# Mengubah hasil menjadi list
hasil_list = list(hasil)
print(hasil_list)
Output:
[('Merah', 1), ('Hijau', 2), ('Biru', 3)]
Menggunakan zip() dengan Lebih Dari Dua Iterable
Fungsi zip()
tidak terbatas pada hanya dua iterable. Kita bisa menggabungkan lebih dari dua iterable sekaligus. Mari kita lihat contoh di bawah ini.
# List contoh
nama = ["Alice", "Bob", "Charlie"]
umur = [25, 30, 35]
kota = ["Jakarta", "Bandung", "Surabaya"]
# Menggunakan fungsi zip() dengan tiga iterable
hasil = zip(nama, umur, kota)
# Mengubah hasil menjadi list
hasil_list = list(hasil)
print(hasil_list)
Output:
[('Alice', 25, 'Jakarta'), ('Bob', 30, 'Bandung'), ('Charlie', 35, 'Surabaya')]
Dalam contoh ini, kita menggabungkan tiga iterable sekaligus, dan hasilnya adalah list yang berisi tuple yang menggabungkan nama, umur, dan kota.
Fungsi zip() dengan Iterable Berbeda Panjang
Satu hal yang perlu dicatat adalah ketika kita menggunakan zip()
dengan iterable yang memiliki panjang berbeda, zip akan berhenti pada iterable yang terpendek. Mari kita lihat contoh berikut:
# List berbeda panjang
nama = ["Alice", "Bob", "Charlie"]
umur = [25, 30]
# Menggunakan fungsi zip()
hasil = zip(nama, umur)
# Mengubah hasil menjadi list
hasil_list = list(hasil)
print(hasil_list)
Output:
[('Alice', 25), ('Bob', 30)]
Seperti yang kita lihat di sini, zip()
hanya menghasilkan dua tuple karena iterable umur
memiliki dua elemen.
Cara Menggunakan zip() dengan Iterators
Kita juga dapat menggunakan zip()
dengan iterator, yang membuatnya berguna untuk menggabungkan data yang dihasilkan secara dinamis. Mari kita lihat contohnya:
# Fungsi generator
def angka():
for i in range(1, 4):
yield i
# Menggunakan fungsi zip() dengan generator
hasil = zip(angka(), ["A", "B", "C"])
# Mengubah hasil menjadi list
hasil_list = list(hasil)
print(hasil_list)
Output:
[(1, 'A'), (2, 'B'), (3, 'C')]
Di sini kita menggunakan generator untuk menghasilkan angka, dan zip()
menggabungkannya dengan list karakter.
Kesimpulan
Fungsi zip()
di Python adalah alat yang sangat berguna untuk menggabungkan beberapa iterable menjadi tuple. Dengan fungsi ini, kita dapat mengelola data dengan lebih mudah dan efisien. Dalam artikel ini, kita membahas cara menggunakan zip()
dengan berbagai iterable, termasuk list dan tuple, serta bagaimana fungsi ini menangani iterable dengan panjang yang berbeda.
Dengan pemahaman yang baik tentang penggunaan zip()
, Anda kini dapat memperkaya cara Anda bekerja dengan data di Python. Selamat mencoba!