ForLoop - Python Wiki
Die Verwendung in Python
- Wenn ich für Loops verwenden?
for-Schleifen traditionell verwendet werden, wenn Sie einen Code-Block, die Sie eine feste Anzahl von Malen wiederholt werden sollen. Der Python für Anweisung iteriert über die Mitglieder einer Sequenz, um den Block jedes Mal ausgeführt wird. Vergleichen Sie die für Anweisung mit der ‚‘, während ‚‘ Schleife. verwendet, wenn eine Bedingung jede Iteration überprüft werden muss, oder einen Code-Block für immer zu wiederholen. Beispielsweise:
For-Schleife von 0 bis 2, läuft daher 3 mal.
While-Schleife von 1 bis unendlich läuft, also für immer.
Wie Sie verschiedene Zwecke sehen können, dienen diese Schleifenkonstrukte. Die for-Schleife führt zu einem festen Betrag - in diesem Fall 3, während die while-Schleife, bis die Schleifenbedingung ändert läuft; in diesem Beispiel ist die Bedingung, die boolean True, die sich nie ändern wird, so könnte es theoretisch für immer laufen. Sie könnten ein for-Schleife mit einer großen Anzahl, um die gleiche Wirkung wie eine while-Schleife verwenden, um zu gewinnen, aber was ist der Sinn des Tuns, dass, wenn Sie ein Konstrukt haben, die bereits vorhanden? Wie das alte Sprichwort sagt, „warum versuchen, das Rad neu zu erfinden?“.- Wie arbeiten Sie?
- nested Loops
Wenn Sie einen Code-Block haben Sie x-mal ausgeführt werden, dann einen Code-Block innerhalb dieses Codes, die Sie wollen y einige Male ausführen, verwenden Sie, was als eine „verschachtelte Schleife“ bekannt ist. In Python, wird diese stark genutzt, wenn jemand eine Liste der Listen hat - ein iterable Objekt innerhalb eines iterable Objekts.
Wie die while-Schleife kann die for-Schleife zu verlassen vorgenommen werden, bevor das gegebene Objekt fertig ist. Dies geschieht, um die Pause-Anweisung, die unmittelbar aus der Schleife wird fallen und Ausführung bei der ersten Anweisung nach dem Block contine. Sie können auch eine optionale else-Klausel, die sauber die for-Schleife Ausgang laufen soll - das heißt, ohne zu brechen.
Was zu beachten ist
Die ‚‘ Reichweite ‚‘ wird in für Aussagen so oft gesehen, dass Sie vielleicht denken Bereich ein Teil der für die Syntax ist. Es ist nicht: es ist eine Python eingebaute Funktion ist, die eine Sequenz zurückgibt, die das Erfordernis der Bereitstellung einer Sequenz, die für die für Aussage über iterieren erfüllt. In Python 2.x Bereich die gesamte Sequenz erzeugt, wenn genannt, während xrange ein Generator ist, - es produziert Werte auf Anforderung, die nicht alle Fromt auf. Sie werden oft sehen xrange mehr verwendet wird viel häufiger als Bereich. Dies ist nur aus einem Grund - Ressourcennutzung. Für große Sequenzen kann der Unterschied in der Speichernutzung erheblich sein. xrange benötigt weniger Speicher, und sollte der Ausgang für Schleife früh, gibt es keine Notwendigkeit, Zeit zu schaffen, die nicht verwendeten Zahlen zu verschwenden. Dieser Effekt ist in kleineren Listen winzig, aber steigt schnell in größeren Listen, wie Sie in den folgenden Beispielen sehen können. Für Python 3.x Bereich geändert wurde, können Sie daran denken in Bezug auf die Python 2.x xrange gleichwertig. die nicht mehr in Python 3.x definiert
Strings als iterable
Listen als iterable
Schleife über Listen von Listen
Erstellen eines eigenen iterable
Bereich vs xrange (Python 2)
Zeit auf kleine Bereiche
Ihre eigene Bereich Generator Ausbeute