如果a和b超出索引范围,为什么python为什么允许list [a:b]但不允许list [a]?

DBl*_*ess 10 python string list

我只是一个谦虚的蚱grass编码,并且有一个简单的问题。

让:

x = ['this','is','a','list']
Run Code Online (Sandbox Code Playgroud)

怎么来的:

x[100:101]
Run Code Online (Sandbox Code Playgroud)

输出一个空列表,如预期的那样:

x[100]
Run Code Online (Sandbox Code Playgroud)

是一个错误吗?同上字符串,请,谢谢。

nor*_*ok2 6

从本质上讲,这是Python的设计选择,并且x[100:101]与给Empty相对应的错误实际上并没有对与错list

请注意,x[slice(...)]它将始终返回一个容器(具有的相同类型x),而x[int]始终将在指定位置访问该元素。