可能重复: 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
指的是什么?
负数表示您从右侧而不是左侧计数。因此,list[-1]
指的是最后一个元素,list[-2]
是倒数第二个,依此类推。
列表索引-x表示列表末尾的第x项,因此n[-1]
表示列表n
中的最后一项。任何好的Python教程都应该告诉你这个。
这是一个不同寻常的惯例,除了Python之外几乎没有其他语言采用,但它非常有用;在任何其他语言中,您将花费大量时间编写n[n.length-1]
来访问列表的最后一项。