Negatieve lijstindex?

Mogelijk duplicaat:
Plaknotatie uitleggen

Ik probeer het volgende stukje code te begrijpen:

# node list
n = []
for i in xrange(1, numnodes + 1):
    tmp = session.newobject();
    n.append(tmp)
link(n[0], n[-1])

In het bijzonder begrijp ik niet waar de index -1naar verwijst. Als de index 0verwijst naar het eerste element, waar verwijst -1dan naar?


Antwoord 1, autoriteit 100%

Negatieve getallen betekenen dat je van rechts in plaats van links telt. Dus list[-1]verwijst naar het laatste element, list[-2]is het op één na laatste, enzovoort.


Antwoord 2, autoriteit 6%

Lijstindexen van -x betekenen het xde item vanaf het einde van de lijst, dus n[-1]betekent het laatste item in de lijst n. Elke goede Python-tutorial had je dit moeten vertellen.

Het is een ongebruikelijke conventie die slechts een paar andere talen naast Python hebben overgenomen, maar het is buitengewoon nuttig; in elke andere taal besteed je veel tijd aan het schrijven van n[n.length-1]om toegang te krijgen tot het laatste item van een lijst.

Other episodes