skip_line oder workaround

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
x1334
User
Beiträge: 13
Registriert: Mittwoch 13. Juni 2012, 12:34

Hallo.

Leider immer noch in den Anfängen von Python, deswegen auch nur mäßig Kenntnisse :-).

Ich habe eine Textdatei, die pro Zeile 3 Wörter hat.
Diese splitte ich und trage die Wörter in 3 verschiedene Listen ein:

Code: Alles auswählen

for line in fobj_in: #Eingabedatei splitten
    values = line.split()
    verb = values[0]
    verblist.append(verb)
    nomen = values[1]
    nomenlist.append(nomen)
    wahrs = values[2]
    ......
Nun möchte ich aus meiner Verbliste alle fehlerhaft erkannten Strings herausfiltern und direkt zur nächsten line springen ohne die 2 weiteren Listen zu bearbeiten und genau das schaffe ich nicht.
Beispielsweise habe ich mir das ungefähr so vorgestellt:

Code: Alles auswählen

for line in fobj_in: #Eingabedatei splitten
    values = line.split()
    verb = values[0]
    if verb not in string.ascii_lowercase:
         skip_line_and_goto_next_line (aber ich weiß nicht wie)
    verblist.append(verb)
    nomen = values[1]
    nomenlist.append(nomen)
    wahrs = values[2]
Danke im Voraus!
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Das sind Schleifen-Basics.

Schau dir mal break und continue an.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
BlackJack

@x1334: Da die Werte in einer Zeile zusammen gehören, melde ich mal leise Zweifel an, dass „parallele” Listen die richtige Struktur sind.

Ausserdem versuche ich ``continue`` eher zu meiden, weil es eine Art verstecktes GOTO ist und es ausserdem schwieriger macht den Programmablauf später zu erweitern wenn man zwar den ursprünglichen Rest des Schleifenkörpers auslassen möchte, aber danach noch Code kommen soll, der in jedem Durchlauf ausgeführt werden soll. Man kann die Bedingung ja auch einfach negieren und den entsprechenden Quelltext in den bedingten Zweig verschieben.
Antworten