Daftar Referensi Python

zip() adalah fungsi bawaan yang menggabungkan beberapa koleksi secara paralel: elemen pertama dipasangkan dengan elemen pertama, elemen kedua dengan elemen kedua, dan seterusnya.

Sintaks

zip(iterable1, iterable2, ...)

Parameter

Parameter Wajib? Keterangan
iterable1, iterable2, ... Ya (minimal satu) Dua atau lebih koleksi yang akan dipasangkan: list, string, tuple, dan sebagainya
strict Tidak Python 3.10+. Jika True, panjang semua koleksi harus sama — kalau beda, muncul ValueError. Default False

Nilai balik: objek zip berisi tuple pasangan — biasanya langsung dipakai di for, atau dibungkus list()/dict().

Contoh

nama_siswa = ["Budi", "Ani", "Citra"]
nilai_ujian = [85, 92, 78]

for nama, nilai in zip(nama_siswa, nilai_ujian):
    print(f"{nama} mendapatkan nilai {nilai}")

Coba di IDE

Output:

Budi mendapatkan nilai 85
Ani mendapatkan nilai 92
Citra mendapatkan nilai 78

Contoh Lainnya

Melihat hasil zip sebagai list

angka = [1, 2]
huruf = ["a", "b"]

print(list(zip(angka, huruf)))

Coba di IDE

Output:

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

Panjang berbeda: mengikuti yang terpendek

nama = ["Budi", "Ani", "Citra"]
hadir = [True, False]

print(list(zip(nama, hadir)))

Coba di IDE

Output:

[('Budi', True), ('Ani', False)]

"Citra" tidak punya pasangan, jadi dibuang tanpa error. Tambahkan strict=True (Python 3.10+) kalau panjang beda seharusnya dianggap bug.

Membuat dictionary dari dua list

kunci = ["nama", "kelas"]
nilai = ["Andi", 9]

data = dict(zip(kunci, nilai))
print(data)

Coba di IDE

Output:

{'nama': 'Andi', 'kelas': 9}

Kesalahan Umum

  • print(zip(a, b)) langsung → hanya tampil <zip object ...>. Bungkus dengan list() untuk melihat isinya.
  • Hasil zip() hanya bisa dipakai sekali — setelah diulang atau di-list(), isinya habis. Simpan ke list() dulu jika perlu dipakai berkali-kali.
  • Panjang koleksi berbeda → data yang tidak punya pasangan dibuang diam-diam tanpa error.
  • Memberi argumen yang bukan koleksi, misalnya zip(5, 6)TypeError.

Pelajari Lebih Lanjut