Ako v jazyku Python získate posledný prvok zoznamu?
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.
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.
Môžete tiež urobiť:
alist.pop()
Záleží na tom, čo chcete so zoznamom robiť, pretože metóda pop()
vymaže posledný prvok.