Seite 1 von 1

Teilausgabe einer Liste

Verfasst: Donnerstag 24. Juni 2010, 08:09
von User0815
Hallo,

ich mache gerade meine ersten Schritte in Python und habe folgende Frage:
Ich habe eine Liste d
d=[['c1', 'c2', ['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']], ['cc1', 'cc2', ['aa1', 'aa2', 'aa3'], ['bb1', 'bb2', 'bb3']],...]
Ist es möglich aus dieser Liste auf einfachem Wege den Vektor ['a2','aa2',...] auszulesen? Bei einem 3 dimensionalen Array würde ich das mit d[:][2][1] machen, aber das klappt bei den Listen ja leider nicht.

Danke schon einmal für eure Hilfe...

Re: Teilausgabe einer Liste

Verfasst: Donnerstag 24. Juni 2010, 08:16
von BlackJack
Das ginge recht einfach mit einer "list comprehension":

Code: Alles auswählen

In [1605]: d
Out[1605]:
[['c1', 'c2', ['a1', 'a2', 'a3'], ['b1', 'b2', 'b3']],
 ['cc1', 'cc2', ['aa1', 'aa2', 'aa3'], ['bb1', 'bb2', 'bb3']]]

In [1606]: [a[2][1] for a in d]
Out[1606]: ['a2', 'aa2']
Allerdings sollte man sich IMHO bei solch verschachtelten Listen und Indexzugriffen langsam an Objekte mit sprechenden Methoden- und Attributnamen machen. Solche Indexereien mit "magischen Zahlen" werden schnell unverständlich bis unwartbar.

Re: Teilausgabe einer Liste

Verfasst: Donnerstag 24. Juni 2010, 08:47
von User0815
Ja, genau nach sowas habe ich gesucht. Danke!
An ein neues Objekt hatte ich auch schon gedacht... aber irgendwie bin ich dann doch bei quick&dirty hängen geblieben. Bleibt nur zu hoffen, dass sich das im Nachhinein nicht rächt :wink: