为什么'abc'[ - 1]导致'c'而不是'b'?

时间:2016-06-07 23:02:31

标签: python string

我认为它从一开始就向后计数,所以A为0,B为-1,C为-2。

2 个答案:

答案 0 :(得分:7)

正如亨利指出的那样,负面指数表明从右边算起。

当然,从左侧开始计算时,A0B1C2

->  ->  ->

A | B | C

0 | 1 | 2

当向后移动时,-1是数组的结尾,如下所示:

<- <- <-
A | B| C
-3|-2|-1

有关更多背景信息,请按以下方式查看,就像两个副本排成一行一样:

A | B | C | A | B | C
-3| -2| -1| 0 | 1 | 2

根据the documentation StringList对象支持负索引,但Range对象不支持。

答案 1 :(得分:4)

否定指数意味着&#34;从右边开始计数&#34;。

换句话说:sequence[0]是序列的开头,为什么你会期望sequence[-1]不是序列的结尾?

 0    1    2
 a    b    c

-3   -2   -1
 a    b    c