Nur Listen ausgeben bei den ein bestimmtes Feld da ist

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
rilc0n
User
Beiträge: 7
Registriert: Montag 2. Dezember 2019, 21:58

Hallo, ich bin neu in Python und versuche ein Problem zu lösen. Wahrscheinlich ist es sehr simpel aber ich komme nicht drauf.

Ich habe eine Liste und in der sind mehrere Listen. Ich möchte aber diese übergeordnete Liste nur mit Listen ausgeben, die an der 3. Position ein x haben. Die Listen ohne x sollen nicht angezeigt werden.

Hier ist ein Beispiel, diese Liste:

Code: Alles auswählen

eineliste = [['a', '1', '2', 'x,'], ['b', '3', '4', 'x'], ['c', '5', '6', '']]
soll so angezeigt werden:

Code: Alles auswählen

eineliste2 = [['a', '1', '2', 'x,'], ['b', '3', '4', 'x']]
Danke im Voraus
Gruß
Bolitho
User
Beiträge: 219
Registriert: Donnerstag 21. Juli 2011, 07:01
Wohnort: Stade / Hamburg
Kontaktdaten:

schau dir mal list comprehensions an: z.B. https://realpython.com/list-comprehension-python/

Ein Beispiel, falls man im ersten Element nach einem 'a' sucht:

Code: Alles auswählen

neue_liste = [x for x in eineliste if x[0] == 'a']
Übrigens, deine Eingabeliste eineliste ist hier im Code falsch, dass Komma ist zum 'x' gerutscht. Also 'x,' anstatt 'x',
rilc0n
User
Beiträge: 7
Registriert: Montag 2. Dezember 2019, 21:58

Danke, ich habe das mit deiner Hilfe jetzt hinbekommen. Werde mir gleich deine Link mit list comprehensions auf jeden Fall mal studieren.

Dass mit dem Fehler hast du recht, aber in meinem Programm ist es richtig. Habe mich nur hier vertippt.

Danke für deine Hilfe, ich komme nun weiter :)
Antworten