Získanie posledného prvku zoznamu

Ako v jazyku Python získate posledný prvok zoznamu?

Riešenie

some_list[-1] je najkratší a najpythonovskejší.

V skutočnosti môžete s touto syntaxou urobiť oveľa viac. Syntax some_list[-n] získa n-tý-posledný prvok. Takže some_list[-1] získa posledný prvok, some_list[-2] získa predposledný atď. až po some_list[-len(some_list)], ktorý vám poskytne prvý prvok.

Týmto spôsobom môžete nastaviť aj prvky zoznamu. Napríklad:

>>> 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]

Všimnite si, že získanie prvku zoznamu podľa indexu vyvolá IndexError, ak očakávaný prvok neexistuje. To znamená, že some_list[-1] vyvolá výnimku, ak je some_list prázdny, pretože prázdny zoznam nemôže mať posledný prvok.

Komentáre (0)

Ak by vaše objekty str() alebo list() mohli byť nakoniec prázdne, tak: astr = '' alebo alist = [], potom možno budete chcieť použiť alist[-1:] namiesto alist[-1] pre objektovú "samotu".

Význam toho je nasledovný:

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

Rozdiel je v tom, že vrátenie prázdneho objektu zoznamu alebo prázdneho objektu str je viac podobné "poslednému prvku"ako objekt výnimky.

Komentáre (6)

Môžete tiež urobiť:

alist.pop()

Záleží na tom, čo chcete so zoznamom robiť, pretože metóda pop() vymaže posledný prvok.

Komentáre (0)