Effizientes Erstellen von Listen mit wiederholten Elementen
In Python ist das Erstellen von Listen mit wiederholten Elementen eine häufige Aufgabe. Eine Methode besteht darin, ein Listenverständnis zu verwenden, z. B. [e für Zahl im Bereich (n)]. Dieser Ansatz kann jedoch insbesondere bei großen Listen ineffizient sein.
Alternative Ansätze
Eine Alternative besteht darin, die in Python integrierte Wiederholungsmethode aus dem itertools-Modul zu verwenden:
itertools.repeat(e, n)
Dadurch wird ein Objekt erstellt, das bei Bedarf wiederholte Werte von e generiert. Um eine Liste zu erhalten, konvertieren Sie sie einfach:
list(itertools.repeat(e, n))
Leistungsüberlegungen
Während die Wiederholung zunächst möglicherweise schneller erscheint als die Listenmultiplikationsmethode ([e] * n) erstellt es ein Objekt und keine konkrete Liste. Um die Liste zu erstellen, muss sie konvertiert werden.
[e] * n
Dieser Ansatz erstellt direkt eine Liste, die mit n Kopien von e gefüllt ist.
Leistungstests
Leistungstests zeigen, dass bei großen Listen die Listenmultiplikation erheblich ist schneller:
## repeat() timeit.timeit('itertools.repeat("foo", 1000000)', number=1000) 0.4600000247131665 ## [e] * n timeit.timeit('["foo"] * 1000000', number=1000) 0.19000002993464403
Fazit
Um große Listen mit wiederholten Elementen zu erstellen, ist die Multiplikation einer Einzelelementliste ([e] * n) die optimale Wahl zu seiner überlegenen Leistung.
Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, große Listen wiederholter Elemente in Python zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!