Seite 1 von 1

Anfängerstarthilfe: Slices von Werten in Listen

Verfasst: Samstag 26. Dezember 2009, 21:11
von doca82
Hallo Leute,
ich hab so meine Probleme mit der Auswertung von Listen. Ich will einen "slice" in jeder Unterleiste zwischem dem 2. und 5. Wert machen.
Die Liste sieht in etwa so aus:

Code: Alles auswählen

 liste = [['ich', 'bin', 'echt', 'witzig', 'und', 'originell'],['und', 'dazu', 'auch', 'noch', 'ziemlich', 'hässlich']] 
Das Ganze wollte ich in einer For Schleife oder in einer diesen sagenhaften List Comprehensions machen.

So weit bin ich bisher gekommen:

Code: Alles auswählen

[[row[i] for row in liste] for i in [2,3,4]] 
Ausgabe ist, wie nicht anders zu erwarten:

Code: Alles auswählen

 [['echt', 'auch'], ['witzig', 'noch'], ['und', 'ziemlich']]
jetzt will ich aber die "Unterlistenausgabe" nicht als listen und wertweise sondern den Ausschnitt [2:5] jeder Unterliste als neue Liste.
Bevor ich da jetzt mit zip&co arbeite, gibt es da nicht eine viel einfachere for schleife oder list comprehension?

Gruß

Doca

Verfasst: Samstag 26. Dezember 2009, 21:20
von BlackJack
Ich verstehe nicht wie das Ergebnis aussehen soll, wenn nicht als Liste von Listen mit den Slices!? Gibt doch mal das gewünschte Ergebnis zu dem Beispiel an.

Verfasst: Samstag 26. Dezember 2009, 21:23
von doca82
oh entschuldige die Unklarheit:

Die Ausgabe sollte wie folgt aussehen:

[['echt', 'witzig', 'und'],[ 'auch', 'noch', 'ziemlich']]

Verfasst: Samstag 26. Dezember 2009, 21:39
von Dauerbaustelle

Code: Alles auswählen

[liste_von_woertern[2:5] for liste_von_woertern in liste]

Verfasst: Samstag 26. Dezember 2009, 21:40
von busfahrer
Hallo

Code: Alles auswählen

[i[2:5] for i in liste]
Gruß...busfahrer

Verfasst: Samstag 26. Dezember 2009, 21:46
von doca82
holy! Okay auch das scheint hier jeder zu wissen :oops:

Wie lange programmiert ihr schon?! :lol:

Verfasst: Samstag 26. Dezember 2009, 23:01
von Dauerbaustelle
Eh, ich würde nicht mit LC anfangen. Fang mir Schleifen an, und irgendwann werden sie dich nerven (zumindest wenn du wenig Logik in den Loops brauchst), und dann komme noch mal auf die LCs zurück. Wenn du dir nämlich die entsprechende Schleife zu einer LC nicht vorstellen kannst, ist es sehr schwer, die zu verstehen.

Gruß