为什么 slice [:-0] return 中的空列表 Python

Why does slice [:-0] return empty list in Python

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

blah = ['a', 'b', 'c']
blah[:-3] # []
blah[:-2] # ['a']
blah[:-1] # ['a', 'b']
blah[:-0] # []

我这辈子都弄不明白为什么 blah[:-0] # [] 应该是这样,模式似乎肯定表明它应该是 ['a', 'b', 'c']。任何人都可以帮助阐明为什么会这样吗?无法在文档中找到关于为什么会出现这种情况的提及。

-00,从 list 包含的开始到索引 0 非包含的切片是空的 list.

Python 对待 -00 没有任何区别。

blah[:0]

表示直到第一个但不包括第一个的所有元素。这是一个空列表,和blah[:-0]完全一样。

您可以通过检查

来测试它
blah[0:]

是整个列表,从第一个元素开始。