切片 - >不知道-len做了什么

时间:2014-12-24 19:01:51

标签: python slice

有人可以解释'b'的输出a[-len(a)]是怎样的吗?

a = "blueberry"
>>> a[-len(a)]
'b'

3 个答案:

答案 0 :(得分:3)

如果在内部使用负数作为索引,则会将序列的长度添加到其中,然后将结果用作索引。

所以,会发生什么:

a[-len(a)]
a[len(a)-len(a)]
a[0]

b

答案 1 :(得分:2)

负指数从最后一个元素开始计数,从-1开始,并继续向前开始。因此,3元素序列的长度为3,-3是第一个元素的索引。

答案 2 :(得分:2)

查看python documentation,你可以使用-len()来表示第一个字符:

 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1