Python元组切片

KGS*_*KGS 2 python tuples slice

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

x=(1,2,3,4,5)
x[0:-1]
Run Code Online (Sandbox Code Playgroud)

(1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)

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

谢谢

twj*_*twj 11

-1不会返回元组中的第一项

x=(1,2,3,4,5)
x[-1]
Run Code Online (Sandbox Code Playgroud)

产量

5
Run Code Online (Sandbox Code Playgroud)


Joh*_*ooy 9

它有助于将切片点视为元素之间的切片

x = (   1,   2,   3,   4,   5   )
      |    |    |    |    |    |
      0    1    2    3    4    5
     -5   -4   -3   -2   -1
Run Code Online (Sandbox Code Playgroud)


Chr*_*ian 5

切片的工作方式如下:

x[start : end : step]
Run Code Online (Sandbox Code Playgroud)

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

Python 文档中的链接可能会有所帮助,其中有一些切片示例。