Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Mengezip Senarai dalam Python Menghasilkan Senarai Tuple, Bukan Senarai Bercantum?

Mengapa Mengezip Senarai dalam Python Menghasilkan Senarai Tuple, Bukan Senarai Bercantum?

DDD
Lepaskan: 2024-12-18 20:17:11
asal
126 orang telah melayarinya

Why Does Zipping Lists in Python Result in a List of Tuples, Not a Concatenated List?

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)
Salin selepas log masuk

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)]
Salin selepas log masuk

Oleh itu, untuk menentukan bilangan elemen dalam setiap tuple, seseorang boleh memeriksa panjang mana-mana elemen ini:

len(zipall[0])
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan