Heim > Backend-Entwicklung > Python-Tutorial > Warum schließt die Funktion „range()' von Python den Endwert aus?

Warum schließt die Funktion „range()' von Python den Endwert aus?

Barbara Streisand
Freigeben: 2024-11-28 17:24:11
Original
297 Leute haben es durchsucht

Why Does Python's `range()` Function Exclude the Final Value?

Warum schließt Pythons Range-Funktion den Endwert aus?

Pythons range()-Funktion erstellt eine Zahlenfolge, die mit dem Startparameter beginnt und endet kurz vor dem Endparameter. Benutzer stoßen häufig auf das unerwartete Verhalten, bei dem „Bereich(Start, Ende)“ eine Liste ohne den Endwert erstellt.

Gründe für den Ausschluss

Im Gegensatz zum ersten Eindruck handelt es sich um dieses Verhalten ist nicht willkürlich. Es dient den folgenden Zwecken:

  • Nullbasierte Indizierung: Programmierkonventionen verwenden üblicherweise eine nullbasierte Indizierung, bei der auf das erste Element bei Index 0 zugegriffen wird. Range() hält sich daran Befolgen Sie diese Konvention, indem Sie den Endwert ausschließen, um sicherzustellen, dass die Länge der generierten Sequenz mit dem angegebenen Ende - Anfang übereinstimmt.
  • Schleife Praktisch: Viele durchlaufen Sequenzen mithilfe von for-Schleifen, die auf die Länge der Sequenz verweisen. Wenn range() den Endwert enthalten würde, müsste die Schleife 1 von der Länge subtrahieren, was die Codierungskomplexität erhöhen würde.

Alternative Lösungen

Für In Fällen, in denen der Endwert enthalten sein muss, bietet Python Optionen:

  • Bereichsanfang ändern: range(start - 1, end) erzeugt eine Sequenz, die den Endwert enthält.
  • Benutzerdefinierte Bereichsfunktion: Man kann eine benutzerdefinierte Funktion definieren, um Bereiche zu erstellen, die den Endwert enthalten. Zum Beispiel:
def inclusive_range(start, end):
    return range(start, end + 1)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum schließt die Funktion „range()' von Python den Endwert aus?. 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