可能重复:
Explain slice notation
我正在尝试理解以下代码:
# node list
n = []
for i in xrange(1, numnodes + 1):
tmp = session.newobject();
n.append(tmp)
link(n[0], n[-1])
具体来说,我不明白索引-1
所指的是什么。如果索引0
引用第一个元素,那么-1
引用什么?
答案 0 :(得分:151)
负数表示您从右侧而不是左侧计数。因此,list[-1]
指的是最后一个元素,list[-2]
是倒数第二个,依此类推。
答案 1 :(得分:9)
列出-x的索引表示列表末尾的第x项,因此n[-1]
表示列表n
中的最后一项。任何好的Python教程都应该告诉你这个。
这是一个不同寻常的惯例,除了Python之外几乎没有其他语言采用,但它非常有用;在任何其他语言中,您将花费大量时间编写n[n.length-1]
来访问列表的最后一项。