Python元组切片

时间:2014-01-15 03:55:57

标签: python tuples slice

假设-1返回到元组中的第一个项,并且切片的结束索引在该索引之前停止,为什么会这样做

x=(1,2,3,4,5)
x[0:-1]

产量

(1, 2, 3, 4)

而不是在第一个5之前的索引停止?

谢谢

4 个答案:

答案 0 :(得分:10)

-1不会回到元组中的第一个术语

x=(1,2,3,4,5)
x[-1]

产量

5

答案 1 :(得分:9)

将切片点视为 元素之间的

x = (   1,   2,   3,   4,   5   )
      |    |    |    |    |    |
      0    1    2    3    4    5
     -5   -4   -3   -2   -1

答案 2 :(得分:4)

切片的工作原理如下:

x[start : end : step]

在您的示例中,start = 0,因此它将从头开始,end = -1这意味着结尾将是元组的最后一个元素(而不是第一个元素)。您没有指定step,因此它的默认值为1

link from Python docs可能会有所帮助,有一些切片示例。

答案 3 :(得分:0)

任何python序列中的-ve值意味着:

Val = len(sequence)+(-ve value)

根据我们指定的内容,从/ len(sequence)+(-ve value)开始/停止。