W Pythonie, jak uzyskać ostatni element listy?
some_list[-1]
jest najkrótszy i najbardziej Pythonic.
W rzeczywistości, możesz zrobić o wiele więcej z tą składnią. Składnia some_list[-n]
pobiera element od n-tego do ostatniego. Więc some_list[-1]
dostaje ostatni element, some_list[-2]
dostaje przedostatni element, itd, aż do some_list[-len(some_list)]
, który daje pierwszy element.
Możesz również ustawić elementy listy w ten sposób. Na przykład:
>>> 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]
Zauważ, że uzyskanie elementu listy przez indeks spowoduje podniesienie IndexError
jeśli oczekiwany element nie istnieje. Oznacza to, że some_list[-1]
podniesie wyjątek, jeśli some_list
jest pusta, ponieważ pusta lista nie może'mieć ostatniego elementu.
Jeśli twoje obiekty str()
lub list()
mogą skończyć jako puste, jak np: astr = ''
lub list = []
, to możesz chcieć użyć list[-1:]
zamiast list[-1]
dla "samości obiektu".
Znaczenie tego jest takie:
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
Rozróżnienie polega na tym, że zwrócenie pustego obiektu listy lub pustego obiektu str jest bardziej "ostatnim elementem" niż obiekt wyjątku.
Możesz również zrobić:
alist.pop()
To zależy od tego, co chcesz zrobić ze swoją listą, ponieważ metoda pop()
usunie ostatni element.