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?
Wenn Sie irgendeine Programmierung vorher getan haben, haben Sie zweifellos über eine kommen for-Schleife oder ein Äquivalent zu ihm. Viele Sprachen haben Bedingungen in der Syntax der for-Schleife, wie beispielsweise einen relationalen Ausdruck, um zu bestimmen, ob die Schleife fertig ist, und ein Inkrement Ausdruck des nächste Schleife Wert zu bestimmen. In Python wird diese stattdessen gesteuert durch die entsprechende Sequenz zu erzeugen. Grundsätzlich kann jedes Objekt mit einem iterable Verfahren kann in einem for-Schleife verwendet werden. Auch Saiten, obwohl sie nicht ein iterable Verfahren mit - aber wir werden hier nicht zu, dass auszukommen. eine iterable Methode zu haben, bedeutet im Grunde, dass die Daten in Listenform dargestellt werden können, in denen es mehrere Werte in einer geordneten Art und Weise sind. Sie können Ihre eigenen Iterables, indem ein Objekt mit next () und iter () Methoden definieren. Dies bedeutet, dass Sie selten mit reinen Zahlen zu tun hat, wenn es um für Schleifen in Python kommt - ideal für jedermann!
  • 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

In Verbindung stehende Artikel