Python2.X | range vs. xrange

  • Frage an die Entwickler:


    Wann kann es problematisch werden, wenn man irgendwo die Funktion 'xrange' benutzt? Habt ihr ein Beispiel mit Erklärung?

    Soweit ich das beurteilen kann, tuen sie das Selbe aber zu unterschiedlichen Zeiten.


    'for i in range(100000)' erstellt eben eine Liste die genauso groß ist wie die range und speichert das direkt im Speicher.

    'for i in xrange(100000)' erstellt einen Generator, der die Werte erst erstellt, wenn man sie benötigt und ist damit minimal schneller.


    Soweit ich das verstanden hab, hat sich diese Unterscheidung in Python3 sowieso erledigt, weil die 'range' Funktion IMMER die xrange Funktionalität bietet.

    Will man eine Liste muss man dort explizit casten. xrange als Funktion gibt es da nicht.

  • SolitaryVoice1362

    Hat das Thema geschlossen
  • Dieses Thema enthält 7 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.