Heim >Backend-Entwicklung >Python-Tutorial >Sollte Python Xrange gegenüber Range bevorzugen?
Vergleich zwischen range und xrange
range
Funktionsverwendung:
range( stop)
range(start,stop[,step])
Funktionsbeschreibung:
Dies ist eine allgemeine Funktion, die eine Liste mit einer Sequenz erstellt. Es wird am häufigsten in For-Schleifen verwendet. Parameter müssen normale Ganzzahlen sein. Wenn der Schrittparameter weggelassen wird, ist er standardmäßig 1. Wenn der Startparameter weggelassen wird, ist er standardmäßig 0. Die vollständige Form dieser Funktion gibt eine Liste von Ganzzahlen zurück [Start, Start + Schritt, Start + 2 * Schritt, …]. Wenn Schritt positiv ist, ist das letzte Element Start + i * Schritt das größte und kleiner als Stopp. Wenn Schritt negativ ist, ist das letzte Element Start + i * Schritt das kleinste und größer als Stopp. Schritt darf nicht Null sein (andernfalls wird ein ValueError ausgelöst).
Beispiel
xrange
Funktionsverwendung:
xrange(stop)
xrange(start,stop[,step])
Funktionsbeschreibung:
Diese Funktion ist range() sehr ähnlich, gibt jedoch den xrange-Objekttyp anstelle einer Liste zurück. Dies ist ein Lazy-Sequenz-Typ, der dieselben Werte wie die entsprechende Liste generiert, diese jedoch nicht gleichzeitig zusammen speichert. xrange() hat kaum Vorteile gegenüber range() (da xrange() immer noch die erforderlichen Werte erstellen muss), es sei denn, Sie verwenden einen sehr großen Bereich auf einem Computer mit begrenztem Speicher oder alle Elemente des Bereichs werden nie verwendet (z. B. wenn die Schleife wird oft durch Pause beendet).
Beschreibung des xrange-Objekttyps
Der xrange-Typ ist eine unveränderliche Sequenz, die normalerweise für Schleifen verwendet wird. Der Vorteil des xrange-Typs besteht darin, dass ein xrange-Objekt immer die gleiche Menge an Speicher belegt, unabhängig von der Größe des Bereichs, den es darstellt. Es bietet jedoch keine konsistenten Leistungsvorteile.
xRange-Objekte verhalten sich sehr wenig: Sie unterstützen nur Indizierung, Iteration und die Funktion len().
Beispiel
Wie aus dem obigen Beispiel ersichtlich ist: Die Methoden range() und xrange() sind genau gleich und werden grundsätzlich verwendet Während der Schleifen sind die Ausgabeergebnisse beider gleich. Der größte Unterschied zwischen beiden besteht darin, dass „range()“ direkt ein „xrange“-Objekt anstelle eines „list“-Objekts generiert und jeder Aufruf den Wert zurückgibt .
Das obige ist der detaillierte Inhalt vonSollte Python Xrange gegenüber Range bevorzugen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!