Heim >Backend-Entwicklung >Python-Tutorial >Was ist der effizienteste Weg, Listen mit wiederholten Einzelelementen in Python zu erstellen?

Was ist der effizienteste Weg, Listen mit wiederholten Einzelelementen in Python zu erstellen?

Susan Sarandon
Susan SarandonOriginal
2024-12-07 10:51:13406Durchsuche

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

Erstellen von Listen mit Wiederholungen einzelner Elemente

Um eine Reihe von Listen zu erstellen, die dasselbe Element n-mal wiederholt enthalten, gibt es mehrere Ansätze.

Eine gängige Methode ist der Einsatz von Listenverständnis:

[e for number in range(n)]

Wenn Sie jedoch Suchen Sie nach einem alternativen Ansatz und ziehen Sie die Verwendung des Multiplikationsoperators in Betracht:

[e] * n

Während diese Methode das Element effektiv e n-mal dupliziert, beachten Sie, dass Sie eine Liste mit n Verweisen darauf erhalten, wenn e eine leere Liste ist Liste, anstatt n separate leere Listen.

Leistungsüberlegungen

Beim Vergleich der Zeiteffizienz verschiedener Methoden wird oft angenommen, dass Wiederholung [e] * n überlegen ist. Es ist jedoch wichtig zu wissen, dass durch die Wiederholung nicht sofort eine Liste erstellt wird. Stattdessen wird ein Objekt zurückgegeben, das bei Bedarf die Erstellung einer Liste ermöglicht.

Für einen genaueren Leistungsvergleich:

timeit.timeit('list(itertools.repeat(0, 10))', 'import itertools', number = 1000000)

Diese Änderung zeigt, dass [e] * n das ist effizientere Lösung zur Generierung aktueller Listen. Wenn jedoch träge generierte Elemente gewünscht werden, bleibt die Wiederholung eine praktikable Option.

Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, Listen mit wiederholten Einzelelementen in Python zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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