Python

Cara Menggunakan Fungsi Zip di Python

Cara Menggunakan Fungsi Zip di Python
Artikel ini akan membahas panduan tentang fungsi "zip" yang tersedia di pustaka modul standar Python. Metode ini memungkinkan Anda untuk menggabungkan dan memasangkan elemen dari beberapa objek yang dapat diubah. Anda kemudian dapat menjalankan logika lebih lanjut pada pasangan ini. Dalam banyak kasus, menggunakan fungsi "zip" jauh lebih efisien dan lebih bersih daripada menggunakan banyak loop "untuk" yang bersarang.

Tentang Fungsi Zip

Seperti yang dinyatakan sebelumnya, fungsi "zip" digunakan untuk membuat pasangan dari elemen beberapa objek yang dapat diubah. Pertimbangkan contoh di bawah ini untuk memahami sintaks dasar dan penggunaan fungsi zip:

list1 = ["a", "b", "c"]
list2 = ["apel", "bola", "kucing"]
zip = zip(daftar1, daftar2)
cetak (daftar (zip))

Dua pernyataan pertama dalam contoh kode di atas mendefinisikan dua daftar yang berisi beberapa elemen. Selanjutnya, fungsi "zip" digunakan dengan melewatkan variabel "list1" dan "list2" sebagai argumen. Ini adalah sintaks utama dari fungsi "zip". Anda hanya perlu melewati daftar atau iterables yang valid lainnya sebagai argumen yang elemennya ingin Anda gabungkan. Terakhir, pernyataan print digunakan untuk mendapatkan output dari variabel "zip". Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan output berikut:

[('a', 'apel'), ('b', 'bola'), ('c', 'kucing')]

Perhatikan bahwa fungsi "zip" mengembalikan objek tipe "zip" dan bukan daftar. Anda harus mengonversinya menjadi tipe yang dapat diubah, seperti yang ditunjukkan pada pernyataan cetak di atas.

Secara sederhana, fungsi "zip" mengambil elemen indeks yang sama dari dua daftar dan menggabungkannya sebagai pasangan dalam sebuah tuple. Jadi elemen ke-0 dari “list1” digabungkan dengan elemen ke-0 dari “list2”, elemen ke-1 dari “list1” digabungkan dengan elemen ke-1 dari “list2” dan seterusnya. Fungsi zip bergerak dari kiri ke kanan dan tupel yang berisi elemen berpasangan memiliki indeks yang sama dengan elemen yang disimpan di dalamnya.

Menggunakan Zip Ketika Iterables Tidak Memiliki Jumlah Elemen yang Sama

Dalam contoh yang disebutkan di atas, kedua daftar memiliki jumlah elemen yang sama. Jika Anda berurusan dengan beberapa kode di mana kedua daftar tidak memiliki jumlah elemen yang sama, fungsi "zip" akan berhenti pada elemen terakhir dari daftar yang memiliki jumlah elemen terendah.

Pada contoh di bawah, fungsi "zip" akan berhenti di elemen "c", terlepas dari "list2" memiliki satu elemen lagi.

list1 = ["a", "b", "c"]
list2 = ["apel", "bola", "kucing", "boneka"]
zip = zip(daftar1, daftar2)
cetak (daftar (zip))

Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan output berikut:

[('a', 'apel'), ('b', 'bola'), ('c', 'kucing')]

Anda dapat Menggunakan Lebih dari Dua Iterables Saat Menggunakan Fungsi Zip

Biasanya, fungsi "zip" digunakan untuk membandingkan dua objek yang dapat diubah. Namun, Anda dapat meneruskan sejumlah iterable sebagai argumen ke fungsi "zip". Prinsip berhenti pada elemen terakhir dari daftar terpendek akan tetap berlaku.

list1 = ["a", "b", "c"]
list2 = ["apel", "bola", "kucing", "boneka"]
daftar3 = ["5", "3"]
zip = zip(daftar1, daftar2, daftar3)
cetak (daftar (zip))

Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan hasil sebagai berikut:

[('a', 'apel', '5'), ('b', 'bola', '3')]

Membuat Daftar Individu dari Objek Tipe Zip

Jika Anda sudah memiliki objek "zip", Anda dapat menggunakannya untuk mengisi kembali daftar individual yang sebelumnya digunakan saat fungsi zip pertama kali dipanggil.

list1 = ["a", "b", "c"]
list2 = ["apel", "bola", "kucing", "boneka"]
daftar3 = ["5", "3"]
zip = zip(daftar1, daftar2, daftar3)
l1, l2, l3 = zip(*zip)
cetak (daftar(l1), daftar(l2), daftar(l3))

Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan hasil sebagai berikut:

['a', 'b'] ['apel', 'bola'] ['5', '3']

Dalam contoh kode di atas, objek "zip" dikecilkan menggunakan operator "*". Hasil kempes kemudian dimasukkan ke panggilan lain ke fungsi zip yang membuat daftar asli. Perhatikan bahwa Anda mungkin tidak mendapatkan semua elemen kembali ke daftar asli jika daftar dengan panjang yang tidak sama digunakan saat objek "zip" dibuat pertama kali.

Menggunakan Zip Saat Anda Ingin Menjaga Elemen dari Iterable Terpanjang

Dalam beberapa contoh di atas, Anda mungkin telah mengamati bahwa fungsi "zip" secara default berhenti di elemen terakhir dari iterable terpendek. Bagaimana jika Anda ingin melanjutkan iterasi hingga mencapai elemen terakhir dari iterable terpanjang??

Dalam kasus seperti itu, Anda harus menggunakan metode “zip_longest()” dari modul “itertools” Python. Ini bekerja sama dengan fungsi "zip", dengan satu perbedaan kecil yang berhenti pada elemen terakhir dari tipe iterable terpanjang.

dari itertools impor zip_longest
list1 = ["a", "b", "c"]
list2 = ["apel", "bola", "kucing", "boneka"]
daftar3 = ["5", "3"]
zip = zip_longest(daftar1, daftar2, daftar3)
cetak (daftar (zip))

Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan hasil sebagai berikut:

[('a', 'apel', '5'), ('b', 'bola', '3'), ('c', 'kucing', Tidak Ada), (Tidak Ada, 'boneka', Tidak Ada) ]

Nilai yang hilang diisi sebagai objek tipe "Tidak Ada". Anda juga dapat memberikan nilai Anda sendiri untuk diisi dengan meneruskan argumen "fillvalue" tambahan ke metode "zip_longest".

dari itertools impor zip_longest
list1 = ["a", "b", "c"]
list2 = ["apel", "bola", "kucing", "boneka"]
daftar3 = ["5", "3"]
zip = zip_longest(list1, list2, list3, fillvalue="my_value")
cetak (daftar (zip))

Setelah menjalankan contoh kode yang disebutkan di atas, Anda akan mendapatkan hasil sebagai berikut:

[('a', 'apple', '5'), ('b', 'ball', '3'), ('c', 'cat', 'my_value'), ('my_value', 'boneka ', 'nilai_saya')]

Kesimpulan

Fungsi Zip dapat ditiru menggunakan beberapa loop dan pernyataan kondisi. Namun, ini membantu menjaga kode tetap teratur dan bersih dengan menghapus pernyataan bertele-tele dan berulang yang tidak perlu.

Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...