verschachtelte for schleifen abbrechen

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
bot
User
Beiträge: 20
Registriert: Montag 22. Mai 2006, 19:47

hi, ich möchte wenn etwas true ist, alle schleifendurchgänge beenden

ich habe es momentan so

Code: Alles auswählen


stop = False

for a in list1:
 ....
   
  for b in list2:
   ....
     if bla == blub:
       stop = true
       break
  if stop:
    break
 
ich möchte aber sowas "C" mässiges machen

Code: Alles auswählen


stop = False

for a in list1 and stop == False:   # geht leider nicht
  ......
   for ...
      if...
       stop = True
       break


gibt es da eine elegante methode?

dank im voraus
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Code: Alles auswählen

while i < len(list1) and stop == False:
    for b in list2:
        if bla == blub:
            stop == True
            break
    i += 1
Ob das schöner ist?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Code: Alles auswählen

try:
    for list2 in list1:
        for item in list2:
            if item == 'fooobar':
                raise StopIteration()
except StopIteration:
    pass
TUFKAB – the user formerly known as blackbird
Antworten