Wie kann man in Python das letzte Element einer Liste ermitteln?
Irgendeine_Liste[-1]` ist die kürzeste und pythonischste.
In der Tat kann man mit dieser Syntax viel mehr machen. Die Syntax some_list[-n]
erhält das n-te bis letzte Element. Also bekommt some_list[-1]
das letzte Element, some_list[-2]
das vorletzte, usw., bis hin zu some_list[-len(some_list)]
, das das erste Element liefert.
Sie können auch Listenelemente auf diese Weise setzen. Zum Beispiel:
>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Set the last element
>>> some_list[-2] = 3 # Set the second to last element
>>> some_list
[1, 3, 5]
Beachten Sie, dass das Abrufen eines Listenelements über den Index einen IndexError
auslöst, wenn das erwartete Element nicht existiert. Das bedeutet, dass some_list[-1]
eine Ausnahme auslöst, wenn some_list
leer ist, weil eine leere Liste kein letztes Element haben kann.
Wenn Ihre str()
oder list()
Objekte am Ende leer sein könnten, wie z.B.: astr = ''
oder alist = []
, dann sollten Sie vielleicht alist[-1:]
anstelle von alist[-1]
für Objekt "sameness" verwenden.
Die Bedeutung davon ist:
alist = []
alist[-1] # will generate an IndexError exception whereas
alist[-1:] # will return an empty list
astr = ''
astr[-1] # will generate an IndexError exception whereas
astr[-1:] # will return an empty str
Der Unterschied besteht darin, dass die Rückgabe eines leeren Listenobjekts oder eines leeren str-Objekts eher einem "letzten Element"-ähnlich ist als ein Ausnahmeobjekt.
Das können Sie auch tun:
alist.pop()
Es hängt davon ab, was Sie mit Ihrer Liste machen wollen, denn die Methode pop()
löscht das letzte Element.