Seite 1 von 1

Nur Listen ausgeben bei den ein bestimmtes Feld da ist

Verfasst: Montag 9. Dezember 2019, 14:38
von rilc0n
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ß

Re: Nur Listen ausgeben bei den ein Bestimmtes Feld da ist

Verfasst: Montag 9. Dezember 2019, 14:46
von Bolitho
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',

Re: Nur Listen ausgeben bei den ein bestimmtes Feld da ist

Verfasst: Montag 9. Dezember 2019, 16:14
von rilc0n
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 :)