否定列表索引?

可能重复:
解释切片符号

我试图了解下面的一段代码:

# 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表示列表末尾的第x个项目,所以n[-1]表示列表n的最后一个项目。 任何好的Python教程都应该告诉你这个。

除了Python以外,很less有其他语言采用这种惯例,这是非常有用的, 在任何其他语言中,您将花费大量时间写入n[n.length-1]来访问列表的最后一项。