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

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

Susan Sarandon
Freigeben: 2024-12-13 17:15:09
Original
904 Leute haben es durchsucht

Why Does Python's `range()` Function Exclude the Upper Bound?

Warum Bereichsfunktionen die Obergrenze ausschließen

In Python generiert die Funktion „range(start, end)“ eine Folge von Zahlen beginnend mit dem Anfang und endet vor dem Ende. Dieses Verhalten kann für einige Benutzer verwirrend sein, die erwarten, dass der Bereich das Ende enthält.

Der Grund für diesen Ausschluss liegt in der häufigen Verwendung von Bereich(0, 10). Bei Verwendung mit einem Startwert von 0 gibt der Bereich [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] zurück, was die gewünschte Sequenz mit 10 Elementen ist. Dies entspricht der Länge der generierten Sequenz und stellt sicher, dass die Anzahl der Iterationen in Schleifen und anderen Anwendungen korrekt ist.

Darüber hinaus ermöglicht der Ausschluss der Obergrenze eine sauberere Schleifensyntax. Betrachten Sie das Code-Snippet:

for i in range(len(li)):
    pass
Nach dem Login kopieren

Wenn der Bereich end enthalten würde, würde der obige Code einen Fehler auslösen, wenn ich len(li) erreiche, weil er versuchen würde, auf ein Element außerhalb der Listengrenzen zuzugreifen. Durch das Ausschließen der Obergrenze wird dieser potenzielle Fehler eliminiert.

Programmierer bevorzugen üblicherweise die Verwendung von for-Schleifen mit i im Bereich von 0 bis len(li) - 1 statt 1 bis len(li). Dies ist auf die Verbreitung der 0-basierten Indizierung in der Programmierung zurückzuführen.

Für Benutzer, die lieber die Obergrenze einschließen möchten, kann eine benutzerdefinierte Funktion erstellt werden:

def range1(start, end):
    return range(start, end + 1)
Nach dem Login kopieren

Mithilfe von range1(1 , 10) erzeugt die gewünschte Folge von [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].

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