Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Fungsi Zip Python Sebenarnya Berfungsi dengan Pelbagai Senarai?

Bagaimanakah Fungsi Zip Python Sebenarnya Berfungsi dengan Pelbagai Senarai?

DDD
DDDasal
2024-12-09 20:17:10737semak imbas

How Does Python's Zip Function Actually Work with Multiple Lists?

Memahami Fungsi Zip Python: Membuka zip Misteri

Apabila bekerja dengan berbilang senarai yang sama panjang, seseorang sering berusaha untuk menggabungkannya menjadi satu set data. Di sinilah fungsi zip Python bersinar. Walau bagaimanapun, perangkap biasa timbul apabila salah faham menyelubungi hasil yang dijangkakan.

Untuk menggambarkan perkara ini, pertimbangkan senario di mana tiga senarai, x1, x2 dan x3, setiap satu mengandungi 20 elemen, dicipta. Apabila memanggil zip(x1, x2, x3), seseorang mungkin menjangkakan senarai tiga elemen. Walau bagaimanapun, apa yang sebenarnya anda dapat ialah senarai 20 tiga tuple.

Keliru? Jangan risau, sebab asasnya adalah mudah. zip beroperasi dengan menggabungkan elemen daripada indeks yang sepadan dalam senarai input. Dalam kes ini, ia mencipta 20 tupel, setiap satu terdiri daripada satu elemen daripada x1, satu daripada x2, dan satu daripada x3. Salah tanggapan berpunca daripada andaian bahawa zip menghasilkan senarai senarai dan bukannya senarai tupel.

Untuk menunjukkan perkara ini:

a = b = c = range(20)
result = zip(a, b, c)

print(result)
# Output: [(0, 0, 0), (1, 1, 1), ... (19, 19, 19)]

print(len(result))
# Output: 20

print(len(result[0]))
# Output: 3

Seperti yang dilihat di atas, keputusan mengandungi 20 tiga-tuple, yang setiap satunya mengandungi tiga elemen. Untuk menentukan bilangan elemen dalam setiap tupel, periksa panjang tupel pertama.

Atas ialah kandungan terperinci Bagaimanakah Fungsi Zip Python Sebenarnya Berfungsi dengan Pelbagai Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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