Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk meninggalkan dua senarai panjang yang tidak sama dalam Python?

Bagaimana untuk meninggalkan dua senarai panjang yang tidak sama dalam Python?

Patricia Arquette
Lepaskan: 2024-12-02 05:44:09
asal
863 orang telah melayarinya

How to Interleave Two Lists of Unequal Lengths in Python?

Saling Dua Senarai Bergantian dalam Python

Apabila menggabungkan dua senarai secara berselang-seli, di mana senarai pertama mempunyai satu elemen lebih daripada yang kedua , Python menawarkan beberapa pendekatan.

Satu kaedah melibatkan penghirisan lists:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
Salin selepas log masuk

Pendekatan ini mencipta senarai panjang baharu yang sama dengan panjang gabungan senarai input. Ia memberikan nilai indeks genap daripada senarai1 dan nilai indeks ganjil daripada senarai2 ke dalam senarai baharu, menghasilkan kesan celahan yang diingini.

Sebagai alternatif, anda boleh menggunakan fungsi zip_longest() daripada modul itertools:

from itertools import zip_longest
result = list(zip_longest(list1, list2, fillvalue=None))
Salin selepas log masuk

zip_longest() menggabungkan senarai mengikut elemen, mengisi nilai yang tiada dengan nilai isian yang ditentukan. Memandangkan kami menyediakan Tiada sebagai nilai isian, senarai dengan satu elemen yang lebih sedikit akan dipadatkan dengan nilai Tiada, mencapai jalinan yang diingini. Dengan menukar penjana yang dikembalikan oleh zip_longest() kepada senarai, anda memperoleh hasil akhir.

Atas ialah kandungan terperinci Bagaimana untuk meninggalkan dua senarai panjang yang tidak sama dalam Python?. 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