Heim >Backend-Entwicklung >Python-Tutorial >Wie verschachtelt man zwei Listen ungleicher Länge in Python?

Wie verschachtelt man zwei Listen ungleicher Länge in Python?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 05:44:09867Durchsuche

How to Interleave Two Lists of Unequal Lengths in Python?

Zwei Listen abwechselnd in Python verschachteln

Beim abwechselnden Kombinieren zweier Listen, wobei die erste Liste ein Element mehr als die zweite enthält , Python bietet mehrere Ansätze.

Eine Methode besteht darin, die Listen aufzuteilen:

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

Dies Der Ansatz erstellt eine neue Liste mit einer Länge, die der kombinierten Länge der Eingabelisten entspricht. Es weist der neuen Liste gerade Indexwerte aus Liste1 und ungerade Indexwerte aus Liste2 zu, was zu dem gewünschten Verschachtelungseffekt führt.

Alternativ können Sie die Funktion zip_longest() aus dem itertools-Modul verwenden:

from itertools import zip_longest
result = list(zip_longest(list1, list2, fillvalue=None))

zip_longest() kombiniert die Listen elementweise und füllt die fehlenden Werte mit dem angegebenen Füllwert auf. Da wir None als Füllwert angeben, wird die Liste mit einem Element weniger mit None-Werten aufgefüllt, wodurch die gewünschte Verschachtelung erreicht wird. Durch Konvertieren des von zip_longest() zurückgegebenen Generators in eine Liste erhalten Sie das Endergebnis.

Das obige ist der detaillierte Inhalt vonWie verschachtelt man zwei Listen ungleicher Länge in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn