Listen von Listen reduzieren
Beim Reduzieren einer Liste von Listen wird eine verschachtelte Struktur in eine einstufige Liste umgewandelt. In Python kann dies mit mehreren Methoden erreicht werden.
Nested List Comprehension
Die effizienteste Methode ist ein Nested List Comprehension:
flat_list = [x for xs in xss for x in xs]
Dieser Ausdruck durchläuft jede innere Liste und hängt jedes Element an die resultierende Ebene an Liste.
Verwendung des Operators
Sie können Listen auch mit dem Operator reduzieren:
flat_list = [] for xs in xss: flat_list = flat_list + xs
Diese Methode ist geringfügig langsamer als das Listenverständnis aufgrund wiederholter Listenverkettung.
Summe mit Leerzeichen verwenden Liste
Ein anderer Ansatz verwendet die Summenfunktion mit einer leeren Liste:
flat_list = sum(xss, [])
Diese Methode ist weniger effizient als das Listenverständnis, insbesondere bei großen Listen.
Verwenden von functools.reduce
Schließlich können Sie das verwenden functools.reduce-Funktion:
from functools import reduce flat_list = reduce(lambda xs, ys: xs + ys, xss)
Auch diese Methode ist langsamer als das Listenverständnis.
Leistungstests mit dem Timeit-Modul zeigen, dass das Listenverständnis die schnellste Methode ist.
Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, eine Liste von Listen in Python zu reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!