Luettelon viimeisen elementin hakeminen

Miten Pythonissa saadaan listan viimeinen alkio?

Ratkaisu

some_list[-1] on lyhin ja pythonisin.

Tällä syntaksilla voi itse asiassa tehdä paljon enemmän. some_list[-n]-syntaksilla saadaan n:nneksi viimeinen alkio. Joten some_list[-1] saa viimeisen elementin, some_list[-2] toiseksi viimeisen jne. aina some_list[-len(some_list)]:iin asti, joka antaa ensimmäisen elementin.

Voit myös asettaa listan elementtejä tällä tavalla. Esimerkiksi:

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

Huomaa, että listan elementin hakeminen indeksin perusteella aiheuttaa IndexError, jos odotettua elementtiä ei ole olemassa. Tämä tarkoittaa, että some_list[-1] aiheuttaa poikkeuksen, jos some_list on tyhjä, koska tyhjällä listalla ei voi olla viimeistä elementtiä.

Kommentit (0)

Jos str()- tai list()-objektisi saattavat päätyä tyhjiksi: astr = '' tai alist = [], niin saatat haluta käyttää alist[-1:]:n sijasta alist[-1]:tä objektien "samankaltaisuuden" vuoksi.

Tämän merkitys on seuraava:

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

Tyhjän listaobjektin tai tyhjän str-objektin palauttaminen on enemmän "viimeinen elementti"-mainen kuin poikkeusobjektin palauttaminen.

Kommentit (6)

Voit myös tehdä:

alist.pop()

Riippuu siitä, mitä haluat tehdä listallesi, koska pop()-metodi poistaa viimeisen elementin.

Kommentit (0)