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!