假设-1返回到元组中的第一个项,并且切片的结束索引在该索引之前停止,为什么会这样做
x=(1,2,3,4,5)
x[0:-1]
产量
(1, 2, 3, 4)
而不是在第一个5之前的索引停止?
谢谢
答案 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)
开始/停止。