Heim >Backend-Entwicklung >Python-Tutorial >Sollte Python Xrange gegenüber Range bevorzugen?

Sollte Python Xrange gegenüber Range bevorzugen?

silencement
silencementOriginal
2019-05-25 14:43:182869Durchsuche

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

Sollte Python Xrange gegenüber Range bevorzugen?

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

Sollte Python Xrange gegenüber Range bevorzugen?

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!

Stellungnahme:
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

In Verbindung stehende Artikel

Mehr sehen