Anfängerstarthilfe: Slices von Werten in Listen

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
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

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
Zuletzt geändert von doca82 am Samstag 26. Dezember 2009, 21:24, insgesamt 1-mal geändert.
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.
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

oh entschuldige die Unklarheit:

Die Ausgabe sollte wie folgt aussehen:

[['echt', 'witzig', 'und'],[ 'auch', 'noch', 'ziemlich']]
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Code: Alles auswählen

[liste_von_woertern[2:5] for liste_von_woertern in liste]
busfahrer
User
Beiträge: 111
Registriert: Donnerstag 9. Oktober 2008, 17:42

Hallo

Code: Alles auswählen

[i[2:5] for i in liste]
Gruß...busfahrer
Alles wird gut ;-)
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

holy! Okay auch das scheint hier jeder zu wissen :oops:

Wie lange programmiert ihr schon?! :lol:
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

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ß
Antworten