我是 Python 的新手,我从一个简单的列表切片操作中得到的以下输出让我感到困惑。
这是代码。
>>> a = [1,2,3,4];
>>> a[1:3]
[2, 3]
>>> a[3]
4
a[1:3]
不应该返回 [2,3,4]
而不是 [2,3]
吗?
最佳答案
a[1:3]
指定一个半闭区间,这意味着它包括从第一个 指定索引开始的值但不包括,位于第二索引。
所以在这种情况下 a[1:3]
意味着切片包括 a[1]
和 a[2]
,但是 < em>不是 a[3]
你在使用 range() 时看到同样的情况功能。比如
range(1, 5)
将生成从 1 到 4 的列表,但不包括 5。
这与许多编程语言的处理方式非常一致。
关于python - 关于 Python 列表切片结果的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403132/