Menggunakan * dan zip untuk 'membuka zip'
Anda sudah tahu cara menggunakan zip() dan mencetak nilai dari objek zip. Bagus!
Mari kita eksplor lebih jauh zip(). Tidak ada fungsi unzip untuk membalikkan apa yang dilakukan zip(). Namun, kita dapat membalikkan hasil yang telah di-zip dengan menggunakan zip() dibantu oleh *! Operator * membongkar sebuah iterable seperti list atau tuple menjadi argumen posisional dalam pemanggilan fungsi.
Dalam latihan ini, Anda akan menggunakan * dalam pemanggilan zip() untuk membongkar tuple yang dihasilkan oleh zip().
Dua tuple berisi string, mutants dan powers, telah dimuat sebelumnya.
Latihan ini adalah bagian dari kursus
Kotak Perkakas Python
Petunjuk latihan
- Buat objek
zipdengan menggunakanzip()padamutantsdanpowers, dalam urutan tersebut. Tetapkan hasilnya kez1. - Cetak tuple dalam
z1dengan membongkarnya menjadi argumen posisional menggunakan operator*dalam pemanggilanprint(). - Karena pemanggilan
print()sebelumnya akan menguras elemen dalamz1, buat kembali objekzipyang Anda definisikan sebelumnya dan tetapkan hasilnya lagi kez1. - 'Buka zip' tuple dalam
z1dengan membongkarnya menjadi argumen posisional menggunakan operator*dalam pemanggilanzip(). Tetapkan hasilnya keresult1danresult2, dalam urutan tersebut. - Pernyataan
print()terakhir mencetak keluaran perbandinganresult1denganmutantsdanresult2denganpowers. KlikKirim Jawabanuntuk melihat apakahresult1danresult2yang telah dibongkar setara denganmutantsdanpowers, masing-masing.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create a zip object from mutants and powers: z1
z1 = ____
# Print the tuples in z1 by unpacking with *
print(____)
# Re-create a zip object from mutants and powers: z1
z1 = ____
# 'Unzip' the tuples in z1 by unpacking with * and zip(): result1, result2
result1, result2 = ____
# Check if unpacked tuples are equivalent to original tuples
print(result1 == mutants)
print(result2 == powers)