for Schleife mit if Bedingung?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Jeremy
User
Beiträge: 48
Registriert: Samstag 29. November 2008, 19:05

Donnerstag 4. Dezember 2008, 08:22

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
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Donnerstag 4. Dezember 2008, 09:10

Man könnte es so machen...

Code: Alles auswählen

for i in (x for x in xrange(8) if x != 4):
    print i
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Donnerstag 4. Dezember 2008, 11:26

Hi

Also ich würds so machen:

Code: Alles auswählen

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

Gruss
Jeremy
User
Beiträge: 48
Registriert: Samstag 29. November 2008, 19:05

Donnerstag 4. Dezember 2008, 12:35

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ß
Antworten