while schleife gegen anzahl an objekten in einer Liste

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
saierik
User
Beiträge: 1
Registriert: Sonntag 14. Februar 2016, 15:09

Ich würde gerne eine while schleife so lange laufen lassen, bis sich in einer bestimmten Liste keine Objekte mehr befinden. Ich habe in dieser Liste ca. 5-20 Objekte, diese lösen sich nach und nach aus der Liste, bis eben keine mehr in der Liste sind.
Ich entschuldige mich hier schon direkt für die wahrscheinlich dumme frage, aber durch Recherchen hatte ich leider keine Lösung gefunden.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Sofern ich deine Frage nicht komplett missverstanden habe:

Code: Alles auswählen

while len(dein_objekt) > 0:
    # tu was...
Oftmals kann man auch das kürzere `while dein_objekt:` schreiben, da Container-Objekte in Python normalerweise per Wahrheitswert mitteilen, ob sie befüllt sind. Falls einem das schon zu magisch ist, dann kann man es wie gezeigt auch explizit über die Abfrage der Länge ausdrücken.
BlackJack

@saierik: Was ist denn das konkrete Problem? Eine ``while``-Schleife wird solange durchlaufen wie am Anfang die Bedingung wahr ist. Deine Bedingung ist ob da noch Objekte in einer Liste sind. Da könnte man testen ob die Länge der Liste ungleich Null ist, aber selbst der Ausdruck ist noch zu viel, denn eine leere Liste ist ”falsch” und eine Liste mit Inhalt ist ”wahr”, also reicht als Bedingung einfach die Liste selbst. ``while parrots:`` wird solange durchlaufen wie Papageien in der Liste `parrots` sind.
Antworten