Python range()-Funktion mit Beispielen erklärt

Blog

Python range()-Funktion mit Beispielen erklärt

In Python können Sie die |_+_| . verwenden -Funktion, um eine Folge von Indizes zu erhalten, um eine Iterable zu durchlaufen. Du wirst oft |_+_| . verwenden in Verbindung mit einem |_+_| Schleife.



In diesem Tutorial erfahren Sie, wie Sie |_+_| . verwenden können Funktion – mit expliziten Start- und Stoppindizes, benutzerdefinierter Schrittweite und negativer Schrittweite.

Lass uns anfangen.



Pythons verstehen range() Funktion

Bevor Sie sich die verschiedenen Verwendungsmöglichkeiten des |_+_| . ansehen Funktion, müssen Sie verstehen, wie es funktioniert.

Die |_+_| Funktion gibt ein Bereichsobjekt zurück.
Dieses Bereichsobjekt gibt wiederum die aufeinanderfolgenden Elemente in der Sequenz zurück, wenn Sie darüber iterieren.



Wie oben erwähnt, ist die Reichweitenfunktion kehrt nicht zurück eine Liste von Indizes. Stattdessen wird ein Range-Objekt zurückgegeben, das die Indizes nach Bedarf zurückgibt. Dies macht es auch speichereffizient.

Sie können die |_+_| Funktion mit der folgenden allgemeinen Syntax:

range()

Wenn Sie diese Syntax in Verbindung mit einer Schleife verwenden, erhalten Sie eine Folge von Indizes aus |_+_| bis (ausschließlich) |_+_| , in Schritten von |_+_|.

  • Sie müssen angeben, erforderlich Argument |_+_|, das eine beliebige positive ganze Zahl sein kann. Wenn Sie stattdessen eine Gleitkommazahl angeben, stoßen Sie auf ein |_+_| wie gezeigt:
for

Wie kaufe ich Digibyte in den USA?
  • Wenn Sie |_+_| . nicht angeben Index, der Ursprünglich Startindex von |_+_| wird genutzt.
  • Wenn Sie |_+_| . nicht angeben Wert, der Ursprünglich Schrittweite von |_+_| wird genutzt.

In den folgenden Abschnitten erfahren Sie mehr über die verschiedenen Verwendungsmöglichkeiten von |_+_| Funktion.

Wie man Pythons verwendet range() Funktion zum Durchlaufen jeder iterierbaren

Wie im vorherigen Abschnitt erwähnt, benötigen Sie nur eine positive ganze Zahl, um |_+_| . zu verwenden Funktion. Die Syntax ist unten dargestellt:

range()

Sie können die obige Codezeile verwenden, um eine Sequenz aus |_+_| . zu erhalten bis |_+_| : |_+_|, |_+_|, |_+_|, |_+_|,..., |_+_|.

▶ Betrachten Sie das folgende Beispiel, in dem Sie |_+_| . aufrufen mit 5 als Argument. Und Sie durchlaufen das zurückgegebene Bereichsobjekt mit einem |_+_| Schleife, um die Indizes 0,1,2,3,4 wie erwartet zu erhalten.

range()

Wenn Sie sich erinnern, folgen alle Iterables in Python Nullindexierung . Aus diesem Grund ist es praktisch, |_+_| . zu verwenden iterables durchlaufen.

Ein Iterable der Länge |_+_| hat |_+_|, |_+_|, |_+_|, ..., |_+_| als gültige Indizes. Um also ein beliebiges Iterable zu durchlaufen, müssen Sie nur |_+_| . setzen Wert gleich |_+_| sein. Die Folge, die Sie erhalten – |_+_|, |_+_|, |_+_|, ..., |_+_| – ist die Reihenfolge der gültigen Indizes.

▶ Nehmen wir ein hilfreicheres Beispiel. Sie haben eine Liste |_+_|. Sie können auf alle Elemente in der Liste zugreifen, indem Sie ihre Indizes kennen, und Sie können diese Indizes mit |_+_| . abrufen Wie nachfolgend dargestellt:

range()

Denken Sie daran, Sie können die integrierte Python-Funktion |_+_| . verwenden um die Länge eines beliebigen Iterables zu erhalten. Im obigen Code verwenden Sie sowohl die gültigen Indizes als auch die Listenelemente bei diesen gültigen Indizes. Hier ist die Ausgabe:

vscode Python Debug-Befehlszeilenargumente

Beachten Sie, wie |_+_| ist 7 Items lang und die erhaltenen Indizes reichen wie erwartet von 0 bis 6.

Manchmal müssen Sie stattdessen möglicherweise negative ganze Zahlen verwenden. Wenn Sie in diesem Fall nur die |_+_| -Argument erhalten Sie nicht die gewünschte Ausgabe, obwohl der Code keinen Fehler ausgibt.

Dies liegt daran, dass die Standardeinstellung |_+_| Es wird angenommen, dass der Wert |_+_| ist, und Sie können nicht von |_+_| . hochzählen zu |_+_|.

range()

Wie man Pythons verwendet range(start,stop,step) Funktion mit expliziten Start- und Endindizes

Vielleicht möchten Sie nicht immer bei Null beginnen. Sie können mit jedem beliebigen Index beginnen, indem Sie |_+_| Wert auf den Index, von dem aus Sie starten möchten. Die Syntax lautet wie folgt:

start

In diesem Fall erhalten Sie die Sequenz: |_+_|, |_+_|, |_+_| usw. bis |_+_|.

▶ Im Beispiel unten fangen Sie bei 10 an und zählen in 1er-Schritten bis 15, aber nicht inklusive.

erfordern ist nicht definiert js
stop

Im vorherigen Abschnitt haben Sie gesehen, wie Sie nur die |_+_| Argument funktioniert nicht, wenn Sie negative ganze Zahlen benötigen. Wenn Sie jedoch |_+_| . angeben und |_+_| Indizes explizit, können Sie auch mit negativen ganzen Zahlen arbeiten.

▶ In diesem Beispiel versuchen Sie, von -5 in Schritten von 1 hochzuzählen. Denken Sie immer daran, dass das Zählen bei dem Wert stoppt, der um eins kleiner ist als |_+_| Index.

step

Wie man Pythons verwendet stop Funktion mit benutzerdefinierter Schrittweite

Anstatt ein Iterable sequentiell zu durchlaufen, möchten Sie es manchmal durchgehen und auf jedes |_+_|-te Element zugreifen. Dies ist, wenn das optionale |_+_| Argument ist praktisch. Die allgemeine Syntax ist unten dargestellt:

TypeError

Wenn Sie diese Syntax verwenden und das Bereichsobjekt durchlaufen, können Sie von |_+_| nach |_+_| mit Schritten der Größe |_+_|.

  • Sie erhalten die Sequenz: |_+_|, |_+_|, |_+_| usw. bis zu |_+_| so dass |_+_|<|_+_| and |_+_| >my_range = range(2.5).

▶ Im folgenden Beispiel möchten Sie in 2er-Schritten von 0 auf 20 gehen. Beachten Sie, dass der letzte ausgedruckte Index 19 ist. Dies liegt daran, dass Sie bei einem weiteren Schritt bei 21 sind, was größer ist als 20.

Denken Sie immer daran, dass der letzte Wert, den Sie erhalten, so nahe bei |_+_| . liegen kann wie möglich, kann aber niemals |_+_| sein.

start

Wie man Pythons verwendet 0 Funktion mit negativer Schrittweite

Bisher haben Sie gelernt, die |_+_| Funktion mit |_+_| und |_+_| Indizes und eine bestimmte Schrittweite, während die ganze Zeit von |_+_| . hochgezählt wird zu |_+_|.

Wenn Sie von einer ganzen Zahl herunterzählen müssen, können Sie einen negativen Wert für |_+_| angeben. Die allgemeine Syntax lautet:

step
  • Das range-Objekt kann jetzt verwendet werden, um eine Sequenz zurückzugeben, die von |_+_| . herunterzählt in Schritten von |_+_|, bis, aber nicht einschließlich |_+_|.
  • Die zurückgegebene Sequenz ist |_+_|, |_+_|, |_+_| usw. bis |_+_| so dass |_+_| > |_+_| und |_+_|<|_+_|.
  • Es gibt keinen Standardwert für den negativen Schritt – Sie müssen |_+_| . einstellen um jede Zahl herunterzuzählen.

▶ In diesem Beispiel möchten Sie von 20 in Schritten von -2 rückwärts zählen. Die Sequenz ist also 20, 18, 16, bis hinunter zu 2. Wenn Sie weitere 2 Schritte tiefer gehen, treffen Sie 0, was Sie nicht tun können, da es kleiner als der Stoppwert von 1 ist.

1

,

Es ist leicht zu erkennen, dass |_+_| > |_+_| runterzählen zu können.

range()

▶ Im obigen Beispiel versuchen Sie, von 10 bis 20 herunterzuzählen, was unmöglich ist. Und Sie erhalten keine erwartete Ausgabe.

Wie man Pythons verwendet range() und range() Funktionen zum Umkehren einer Sequenz

Wenn Sie in umgekehrter Reihenfolge auf die Elemente eines Iterables zugreifen müssen, können Sie |_+_| . verwenden Funktion gekoppelt mit dem |_+_| Funktion.

setze zufällige Seed-Python

Pythons integriertes |_+_| -Funktion gibt einen umgekehrten Iterator über die Werte einer bestimmten Sequenz zurück.

▶ Nehmen wir unser allererstes Beispiel, in dem wir |_+_| verwendet haben. Im folgenden Beispiel nennen wir |_+_| auf dem Bereichsobjekt. Und wir sehen, dass wir von 4 auf 0 heruntergezählt haben.

range(stop)

Wie Sie sehen, entspricht dies der Verwendung von |_+_|. Wenn Sie möchten, können Sie die |_+_| Funktion statt |_+_| Argument, das im vorherigen Abschnitt diskutiert wurde.

Abschluss

In diesem Tutorial haben Sie die verschiedenen Möglichkeiten kennengelernt, wie Sie |_+_| . verwenden können Funktion. Sie können einige Beispiele ausprobieren, um jedes Mal eine andere Sequenz zu erhalten. Diese Übung hilft Ihnen bei der Verwendung von |_+_| effektiv beim Durchlaufen von Iterables.

Quelle des Originalartikels bei https://www.freecodecamp.org

#Python