Menyingkap Kerja Dalaman zip([iter(s)]n): Teknik Memotong Python
Untuk membahagikan senarai dengan cekap kepada ketulan saiz yang ditentukan, Python menawarkan penyelesaian yang bijak: zip([iter(s)]n). Memahami cara kod samar ini beroperasi boleh memperkasakan pembangun untuk menggunakannya dengan yakin untuk keperluan pemprosesan data mereka.
Pada terasnya, zip() menggabungkan berbilang iterable menjadi satu objek, menghasilkan tupel yang mengandungi elemen sepadan daripada setiap input. Walau bagaimanapun, pengendali dalam [[iter(s)]*n] memerlukan penelitian lanjut.
iter() menghasilkan lelaran untuk jujukan yang diberikan, s. Dengan melampirkan iter dalam kurungan segi empat sama, kami membuat senarai iterator, setiap satu mewakili lelaran yang berbeza pada urutan yang sama.
[x] * n menghasilkan senarai panjang n, dengan setiap elemen ialah x . Dalam kes ini, kami mempunyai senarai yang mengandungi n contoh iter(s).
Akhir sekali, *arg membongkar senarai ini, membenarkan kami menghantar setiap iterator ke zip() secara berasingan. Oleh itu, zip() memperoleh item daripada setiap iterator, menghasilkan tupel dengan n elemen yang diekstrak daripada s.
Untuk melukis gambaran yang lebih jelas, pertimbangkan contoh:
s = [1,2,3,4,5,6,7,8,9] n = 3 list(zip(*[iter(s)]*n)) # returns [(1,2,3),(4,5,6),(7,8,9)]
Memecahkan kod:
Teknik ini terbukti amat diperlukan apabila membahagikan senarai kepada ketulan bersaiz seragam untuk pemprosesan yang cekap, seperti penomboran atau kelompok.
Atas ialah kandungan terperinci Bagaimanakah `zip([iter(s)]*n)` Python's Function Cekap Membahagikan Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!