Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich jedes N-te Element effizient aus einer Liste in Python?

Wie extrahiere ich jedes N-te Element effizient aus einer Liste in Python?

Susan Sarandon
Susan SarandonOriginal
2024-10-20 11:17:30125Durchsuche

How to Efficiently Extract Every Nth Element from a List in Python?

Jedes N-te Element aus einer Liste in Python extrahieren

Wenn Sie vor der Aufgabe stehen, jedes N-te Element aus einer Liste zu extrahieren, beispielsweise beim Auswählen Jedes 10. Element aus einer Liste mit ganzen Zahlen im Bereich von 0 bis 1000 kann ein einfacher Ansatz darin bestehen, eine for-Schleife zu verwenden, um die Liste zu durchlaufen und den Modulus des Index jedes Elements durch N zu überprüfen. Es gibt jedoch eine effizientere und elegantere Methode können das gleiche Ergebnis mit einer einzigen Codezeile erzielen.

Mit der Slicing-Syntax von Python können wir jedes N-te Element extrahieren, indem wir eine Schrittgröße von N angeben. Im bereitgestellten Beispiel können wir die gewünschte Liste mithilfe von erhalten Folgender Code:

<code class="python">xs = list(range(165))
result = xs[0::10]</code>

Diese Methode ist erheblich schneller als die iterative Überprüfung des Index jedes Elements, wie der folgende Zeitvergleich zeigt:

$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]"
500 loops, best of 5: 476 usec per loop

$ python -m timeit -s "xs = list(range(1000))" "xs[0::10]"
100000 loops, best of 5: 3.32 usec per loop

Durch die Verwendung der Slicing-Syntax können wir effizient arbeiten Extrahieren Sie jedes N-te Element aus einer Liste in Python, was besonders bei großen Listen von Vorteil ist, bei denen es auf die Geschwindigkeit ankommt.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich jedes N-te Element effizient aus einer Liste in Python?. 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