Mengzip Senarai dalam Python: Penjelasan Tidak Padan Saiz
Apabila cuba mengezip beberapa senarai bersama-sama, seseorang mungkin menghadapi tingkah laku yang tidak dijangka mengenai saiz senarai yang terhasil . Artikel ini menangani salah tanggapan biasa dan memberikan pemahaman yang jelas tentang cara zip() berfungsi dalam Python.
Pada mulanya, program yang cuba mengezip tiga senarai saiz 20 mungkin menjangkakan senarai hasil saiz tiga. Walau bagaimanapun, senarai zipall yang terhasil sebaliknya mengandungi 20 elemen. Percanggahan ini berlaku kerana zip() tidak menggabungkan senarai; sebaliknya, ia mencipta senarai tupel, setiap tupel mengandungi elemen yang sepadan daripada senarai asal.
Pertimbangkan contoh berikut:
a = b = c = range(20) zipall = zip(a, b, c)
Senarai zipall keluaran akan mempunyai 20 elemen, setiap satu elemen menjadi tuple dalam bentuk (a_element, b_element, c_element):
[(0, 0, 0), (1, 1, 1), ... (17, 17, 17), (18, 18, 18), (19, 19, 19)]
Oleh itu, untuk menentukan bilangan elemen dalam setiap tuple, seseorang boleh memeriksa panjang mana-mana elemen ini:
len(zipall[0])
Ini akan mengembalikan panjang 3, menunjukkan bahawa setiap tuple mengandungi tiga elemen.
Perhatikan bahawa jika senarai asal kosong, ungkapan len(zipall) akan kembali 0, kerana senarai kosong tidak mempunyai sebarang elemen untuk dizip.
Atas ialah kandungan terperinci Mengapa Mengezip Senarai dalam Python Menghasilkan Senarai Tuple, Bukan Senarai Bercantum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!