Einführung
In Python können wir zwei oder mehr Listen zu einer einzigen Liste zusammenführen, indem wir verschiedene Methoden verwenden. Eine solche Methode besteht darin, Elemente aus jeder der Eingabelisten anhand ihrer Positionen zu kombinieren. In dieser Herausforderung müssen Sie eine Funktion schreiben, die mehrere Listen zu einer Liste von Listen zusammenführt.
Listen zusammenführen
Schreiben Sie eine Funktion namens merge(*args, fill_value=None), die zwei oder mehr Listen als Argumente nimmt und eine Liste von Listen zurückgibt. Die Funktion sollte Elemente aus jeder der Eingabelisten anhand ihrer Positionen kombinieren. Wenn eine Liste kürzer als die längste Liste ist, sollte die Funktion fill_value für die verbleibenden Elemente verwenden. Wenn fill_value nicht angegeben ist, sollte der Standardwert None sein.
Ihre Aufgabe ist es, die merge()-Funktion zu implementieren.
def merge(*args, fill_value = None):
max_length = max([len(lst) for lst in args])
result = []
for i in range(max_length):
result.append([
args[k][i] if i < len(args[k]) else fill_value for k in range(len(args))
])
return result
merge(['a', 'b'], [1, 2], [True, False]) ## [['a', 1, True], ['b', 2, False]]
merge(['a'], [1, 2], [True, False]) ## [['a', 1, True], [None, 2, False]]
merge(['a'], [1, 2], [True, False], fill_value = '_')
## [['a', 1, True], ['_', 2, False]]
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie in Python zwei oder mehr Listen zu einer Liste von Listen zusammenführen. Sie haben auch gelernt, wie Sie die max()-Funktion, die Listenkomprehension und die range()-Funktion verwenden, um das Problem zu lösen. Denken Sie daran, den fill_value-Parameter zu verwenden, um die fehlenden Werte in den kürzeren Listen auszufüllen.