我是Python的新手,我从一个简单的列表切片操作得到的以下输出混淆了我的jebuse.
这是代码.
>>> a = [1,2,3,4];
>>> a[1:3]
[2, 3]
>>> a[3]
4
Run Code Online (Sandbox Code Playgroud)
不应该a[1:3]返回[2,3,4]而不是[2,3]?
a[1:3]指定半闭区间,这意味着它包括从第一个指定索引开始的值,但不包括在第二个索引处.
因此,在这种情况下,a[1:3]意味着片包括a[1]和a[2],但不 a[3]
您在使用range()函数时看到了相同的内容.例如
range(1, 5)
Run Code Online (Sandbox Code Playgroud)
将生成1到4的列表,但不包括5.
这与许多编程语言中的工作方式非常一致.