为什么 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']
。任何人都可以帮助阐明为什么会这样吗?无法在文档中找到关于为什么会出现这种情况的提及。
-0
是 0
,从 list
包含的开始到索引 0
非包含的切片是空的 list
.
Python 对待 -0
与 0
没有任何区别。
blah[:0]
表示直到第一个但不包括第一个的所有元素。这是一个空列表,和blah[:-0]
完全一样。
您可以通过检查
来测试它
blah[0:]
是整个列表,从第一个元素开始。
今天在编写一些单元测试时偶然发现了一些有点令人困惑的事情:
blah = ['a', 'b', 'c']
blah[:-3] # []
blah[:-2] # ['a']
blah[:-1] # ['a', 'b']
blah[:-0] # []
我这辈子都弄不明白为什么 blah[:-0] # []
应该是这样,模式似乎肯定表明它应该是 ['a', 'b', 'c']
。任何人都可以帮助阐明为什么会这样吗?无法在文档中找到关于为什么会出现这种情况的提及。
-0
是 0
,从 list
包含的开始到索引 0
非包含的切片是空的 list
.
Python 对待 -0
与 0
没有任何区别。
blah[:0]
表示直到第一个但不包括第一个的所有元素。这是一个空列表,和blah[:-0]
完全一样。
您可以通过检查
来测试它blah[0:]
是整个列表,从第一个元素开始。