Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapakah `zip()` dalam Python Mengembalikan Senarai 20 Tuple Apabila Menggabungkan Tiga Senarai?

Mengapakah `zip()` dalam Python Mengembalikan Senarai 20 Tuple Apabila Menggabungkan Tiga Senarai?

Susan Sarandon
Lepaskan: 2024-12-15 17:18:11
asal
130 orang telah melayarinya

Why Does `zip()` in Python Return a List of 20 Tuples When Combining Three Lists?

Memahami Fungsi Senarai Zip dalam Python

Dalam pengaturcaraan Python, fungsi zip() memainkan peranan penting dalam menggabungkan berbilang senarai ke dalam satu senarai tupel. Setiap tuple mewakili satu baris, menggandingkan elemen yang sepadan daripada senarai input.

Pertimbangkan coretan kod berikut:

x1, x2, x3 = stuff.calculations(withdataa)

zipall = zip(x1, x2, x3)

print("len of zipall %s" % len(zipall))
Salin selepas log masuk

Berbeza dengan hasil jangkaan tiga, output ialah 20, menunjukkan asas salah faham.

Menyingkap Sifat Berzip Senarai

Apabila anda zip bersama tiga senarai dengan 20 elemen setiap satu, senarai yang terhasil mengandungi 20 tupel. Setiap tuple mengandungi tiga elemen, satu daripada setiap senarai input.

Contohnya:

In [1]: a = b = c = range(20)

In [2]: zip(a, b, c)
Out[2]:
[(0, 0, 0),
 (1, 1, 1),
 ...
 (17, 17, 17),
 (18, 18, 18),
 (19, 19, 19)]
Salin selepas log masuk

Menentukan Panjang Tuple

Untuk menentukan panjang setiap tuple, anda boleh memeriksa elemen pertama:

In [3]: result = zip(a, b, c)

In [4]: len(result[0])
Out[4]: 3
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini mungkin gagal jika senarai input kosong. Oleh itu, sebaiknya gunakan kaedah yang lebih mantap untuk menentukan bilangan elemen dalam setiap tuple.

Atas ialah kandungan terperinci Mengapakah `zip()` dalam Python Mengembalikan Senarai 20 Tuple Apabila Menggabungkan Tiga Senarai?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan