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!