Zip untuk Senarai Chunking: Memahami zip([iter(s)]n)
Zip() function ialah alat berkuasa dalam Python yang menggabungkan elemen daripada berbilang iterable ke dalam senarai tupel. Kegunaannya meluas kepada pelbagai aplikasi, termasuk pembahagian senarai kepada ketulan yang sama saiz. Ungkapan zip([iter(s)]n) ialah cara ringkas untuk mencapainya.
Untuk memahami cara ungkapan ini berfungsi, mari kita pecahkan kepada komponennya:
Akibatnya, zip() digunakan dengan n iterator, setiap satu mewakili senarai yang sama. Ini menyebabkan zip() menarik satu elemen daripada setiap iterator, mencipta tuple. Proses ini berterusan sehingga semua iterator habis, menghasilkan senarai tupel.
Untuk menggambarkan, mari kita pertimbangkan contoh dengan senarai s = [1,2,3,4,5,6,7,8 ,9] dan n = 3. Ungkapan zip([iter(s)]n) akan menghasilkan [(1,2,3),(4,5,6),(7,8,9)].
Jika kita mengembangkan ungkapan kepada lebih banyak kod bertele-tele, ia akan kelihatan seperti ini:
x = iter(s) y = iter(s) z = iter(s) chunked_list = list(zip(x, y, z))
Kod ini menghasilkan hasil yang sama seperti zip ungkapan ringkas([iter(s)]n). Pada dasarnya, iter() mencipta iterator, [iter(s)]*n menjana berbilang paparan ke dalam senarai yang sama dan operator splat membongkar iterator, membolehkan zip() menggabungkan elemen daripada setiap satu menjadi tupel.
Atas ialah kandungan terperinci Bagaimanakah `zip([iter(s)]*n)` Membahagikan Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!