Heim > Backend-Entwicklung > Python-Tutorial > Was ist der effizienteste Weg, große Listen wiederholter Elemente in Python zu erstellen?

Was ist der effizienteste Weg, große Listen wiederholter Elemente in Python zu erstellen?

Susan Sarandon
Freigeben: 2024-12-09 05:29:10
Original
524 Leute haben es durchsucht

What's the Most Efficient Way to Create Large Lists of Repeated Items in Python?

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)
Nach dem Login kopieren

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))
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage