关于python:负列表索引?Negative list index

Negative list index?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Explain slice notation

我试图理解以下代码:

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

具体来说,我不理解索引-1指的是什么。如果索引0引用第一个元素,那么-1引用什么?


负数意味着您从右开始而不是从左开始计数。所以,list[-1]是最后一个元素,list[-2]是第二个元素,以此类推。


-x的列表索引是指列表末尾的xth项,所以n[-1]是列表n中的最后一项。任何优秀的Python教程都应该告诉您这一点。

除了python之外,很少有其他语言采用这种特殊的约定,但它非常有用;在任何其他语言中,您将花费大量时间编写n[n.length-1]来访问列表的最后一项。