Seite 1 von 1

Slice bei Listen

Verfasst: Montag 4. August 2003, 12:04
von HarryH
Hallo,


Warum ergibt

Code: Alles auswählen

wert=["040111","040121","040131","040141","040151","040161"]
print wert[1:-1]
['040121', '040131', '040141', '040151']
und nicht
['040121', '040131', '040141', '040151', '040161']
wenn doch

Code: Alles auswählen

wert=["040111","040121","040131","040141","040151","040161"]
print wert[-1:]
['040161']
ergibt?
Warum wird beim ersten Beispiel das letzte Item nicht ausgegeben und beim zweiten Beispiel schon, obwohl die Eingabe [-1] gleich ist?

Harry

Verfasst: Montag 4. August 2003, 13:02
von Dookie
Hi HarrH,

das liegt daran, daß bei einem Slice [startindex:endindex] alles von einscließlich [startindex] bis ausschließlich (also mit ohne) [endindex] zurückgegeben wird.

[-1:] bedeutet nimm alle vom einschliesslich Letzten bis zum Ende der Liste und das ist eben ganz was anderes als [:-1] was bedeutet nimm alle vom Anfang bis zum Vorgänger vom Letzten. Wenn Du einen Slize über alle Elemente erhalten willst, musst du [:] verwenden.

Gruß

Dookie

re:

Verfasst: Montag 4. August 2003, 13:13
von HarryH
Alles klar. Jetzt verstehe ich das!

Vielen Dank!

Harry