Wie überspringe ich das erste Element in 'for' loop?

8

Gibt es eine robuste, universelle Möglichkeit in Python das erste Element in der for Schleife zu überspringen?

Ich kann nur an einen speziellen Generator von Hand denken:

%Vor%

Und benutze es zum Beispiel wie folgt:

%Vor%

und wie:

%Vor%

und wie:

%Vor%

Ich weiß, wir können Slices in den Listen (x for x in aList[1:]) machen, aber das macht eine Kopie und funktioniert nicht für alle Sequenzen, Iteratoren, Sammlungen usw.

    
user2622016 19.12.2013, 12:51
quelle

4 Antworten

8

Wenn ich nur einen -Eintrag überspringe, verwende ich den next() Funktion :

%Vor%

Wenn Sie ein zweites Argument, einen Standardwert, angeben, wird auch die Ausnahme StopIteration übernommen. Es erfordert keinen Import, kann eine überladene for -Schleifen-Einrichtung vereinfachen und kann in einer for -Schleife verwendet werden, um Elemente bedingungslos zu überspringen.

Wenn Sie erwartet haben, iterieren über alle Elemente von it zu überspringen und das erste Element zu überspringen, dann itertools.islice() ist angemessen:

%Vor%     
Martijn Pieters 19.12.2013 12:52
quelle
8
%Vor%

Erläuterung:

Wenn Sie [1:] in der for-Schleifenliste verwenden, überspringt es das erste Element und startet die Schleife vom zweiten Element zum letzten Element

    
Neeraj Sharma 10.04.2015 08:05
quelle
6

Ich denke itertools.islice wird den Trick machen:

%Vor%     
user2622016 19.12.2013 12:51
quelle
0
%Vor%     
Derek Litz 19.12.2013 13:59
quelle

Tags und Links