为什么slice [:-0]在Python中返回空列表

Bre*_*nik 7 python list slice negative-number

在编写一些单元测试时,偶然发现了一些有些令人困惑的事情:

blah = ['a', 'b', 'c']
blah[:-3] # []
blah[:-2] # ['a']
blah[:-1] # ['a', 'b']
blah[:-0] # []
Run Code Online (Sandbox Code Playgroud)

不能为我的生活弄清楚为什么blah[:-0] # []应该是这样的,模式肯定似乎应该是这样['a', 'b', 'c'].任何人都可以帮助解释为什么会这样吗?未能在文档中找到关于为什么会出现这种情况的提及.

Tig*_*kT3 11

-00,并且从包含的开头list0非包含的索引的切片是空的list.


jwg*_*jwg 6

Python没有-0任何不同之处0.

blah[:0]
Run Code Online (Sandbox Code Playgroud)

表示所有元素,但不包括第一个元素.这是一个空列表,blah[:-0]完全相同.

您可以通过检查来测试它

blah[0:]
Run Code Online (Sandbox Code Playgroud)

是从第一个元素开始的整个列表.