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
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))
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!