Iteriere durch die Liste und behandle StopIteration in Python sehr schön

8

Ich versuche, eine Liste zu durchlaufen, und ich muss bestimmte Operationen nur ausführen, wenn die Iteration das Ende der Liste erreicht hat, siehe Beispiel unten:

%Vor%

Ich glaube, dass dieser Code nicht zu pythonisch ist, also suche ich nach einem besseren Weg. Ich denke, der ideale Code sollte wie folgt aussehen:

%Vor%

Irgendwelche Gedanken sind willkommen.

    
Serge Tarkovski 05.07.2012, 20:28
quelle

1 Antwort

16

Sie können else nach einer for-Schleife verwenden, und der Code innerhalb dieser else wird nur ausgeführt, wenn Sie break nicht in der for-Schleife angegeben haben:

%Vor%

Sie finden dies in der Dokumentation für die for -Anweisung , relevant Stücke, die unten gezeigt werden:

%Vor%
  

Eine in der ersten Suite ausgeführte break -Anweisung beendet die Schleife, ohne die else -Klausel auszuführen.

    
Andrew Clark 05.07.2012, 20:30
quelle