如何在python中将元素n中的列表切片到末尾?

Fur*_*lon 43 python list sequence slice

我在弄清楚如何切片python列表时遇到了一些麻烦,如下图所示:

>>> test = range(10)
>>> test
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> test[3:-1]
[3, 4, 5, 6, 7, 8]
>>> test[3:0]
[]
>>> test[3:1]
[]
>>> test
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

据我所知,python slice意味着lst [start:end],包括start,排除end.那么我如何从元素n开始寻找列表的"休息"呢?

非常感谢您的帮助!

Ang*_*ela 68

您可以通过不指定值来保持切片的一端打开.

test[3:] = [3, 4, 5, 6, 7, 8, 9]
test[:3] = [0, 1, 2]
Run Code Online (Sandbox Code Playgroud)


rec*_*ive 63

如果您使用变量作为范围端点,则可以使用None.

 start = 4
 end = None
 test[start:end]
Run Code Online (Sandbox Code Playgroud)

  • 哦谢谢!我正在寻找这个,但不知道如何搜索它:)。如果没有这个,我觉得接受的答案有点不完整,因为留下结束索引是微不足道的,并且有足够的文档。 (2认同)

Mat*_*hew 8

简单地省略结束.

test[n:]
Run Code Online (Sandbox Code Playgroud)


Dou*_*haw 5

当您想跳过某些内容时,省略结尾仍然有效:

range(10)[3::2] => [3, 5, 7, 9]
Run Code Online (Sandbox Code Playgroud)