Seite 1 von 1

for Schleife mit if Bedingung?

Verfasst: Donnerstag 4. Dezember 2008, 08:22
von Jeremy
Hallo zusammen,

kann man eine for-Schleife mit einer if-Bedingung kombinieren? Folgendes soll dieses Konstrukt erfüllen:
for i in range( 8 ): aber wenn i den Wert 4 "annimmt", soll die Schleife nicht ausgeführt werden.
Gibt es hierfür einen geschlossenen Ausdruck oder muss ich die if-Bedingung in dem Schleifenkörper aufführen (also: if i == 4: break, else: for-Schleife durchlaufen)?

Gruß Jeremy

Verfasst: Donnerstag 4. Dezember 2008, 09:10
von Zap
Man könnte es so machen...

Code: Alles auswählen

for i in (x for x in xrange(8) if x != 4):
    print i

Verfasst: Donnerstag 4. Dezember 2008, 11:26
von rayo
Hi

Also ich würds so machen:

Code: Alles auswählen

for i in xrange(8):
    if i == 4:
        continue
    ...
    ...

Gruss

Verfasst: Donnerstag 4. Dezember 2008, 12:35
von Jeremy
Danke für die Antworten.

Der Vorschlag von Zap entspricht dem, wonach ich suchte. Zwecks besserer Lesbarkeit und Handhabung (ich muss mit Listen und Unterlisten und Tupeln in den Unterlisten arbeiten) bietet sich rayo's Vorschlag an. Die continue Anweisung fehlte mir.

Gruß