python 2.x bieten zwei Funktionen, Bereich und Xrange, um eine Abfolge von Zahlen zu generieren. Während beide einen ähnlichen Zweck erfüllen, weisen sie unterschiedliche Eigenschaften auf, insbesondere in Bezug auf Gedächtnisnutzung und Effizienz.
range
Die Reichweite erstellt eine Liste, in der Erinnerung die gesamte Sequenz in einem GO speichert. Dies kann für große Sequenzen ineffizient sein, die möglicherweise nicht in den Speicher passen. Zum Beispiel würde Range (1, 10000000) eine Liste mit 9999999 -Elementen erstellen, die möglicherweise eine bedeutende Erinnerung verbraucht. Es speichert nicht die gesamte Sequenz im Speicher im Voraus. Stattdessen berechnet es jedes Element nach Bedarf im Fliegen. Dies macht Xrange speichereffizienter, insbesondere für größere Sequenzen.
wirken sich auf die Effizienz
die faule Bewertung von Xrange macht es schneller als Reichweite, insbesondere für große Sequenzen. Da es keinen Speicher für die gesamte Sequenz zuordnen muss, verursacht es weniger Overhead. Dies ist insbesondere in Schleifen oder Listenverständnissen auffällig, bei denen die Sequenz nur einmal überholt wird. Can.
In Python 3 hat Range Xrange ersetzt. Das Aufrufen von XRange erhöht eine NameError -Ausnahme. Um ein Sequenzobjekt zu erstellen, das sich wie Xrange in Python 2.x verhält, verwenden Sie den Bereich mit dem Stop -Argument, das auf keine festgelegt ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3