Подтвердить что ты не робот

Индекс отрицательного списка?

Возможный дубликат:
Объяснить нотацию фрагмента

Я пытаюсь понять следующий фрагмент кода:

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

В частности, я не понимаю, к чему относится индекс -1. Если индекс 0 относится к первому элементу, то что означает -1?

4b9b3361

Ответ 1

Отрицательные числа означают, что вы считаете справа, а не слева. Таким образом, list[-1] относится к последнему элементу, list[-2] - второе и т.д.

Ответ 2

Список индексов -x означает x-й элемент из конца списка, поэтому n[-1] означает последний элемент в списке n. Любой хороший учебник Python должен был сказать вам это.

Это необычная конвенция, принятая несколькими языками, отличными от Python, но необычайно полезна; на любом другом языке вы потратите много времени на запись n[n.length-1] для доступа к последнему элементу списка.