python - 关于 Python 列表切片结果的困惑

标签 python list

我是 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/

相关文章:

python - 什么时候调用 __repr__() ?

python - 在 Python 中准确测量对象大小 - Sys.GetSizeOf 不起作用

java - 将 Arrays.asList 与 int 数组一起使用

algorithm - Kotlin - 按类别和子类别排序的列表

python - SqlAlchemy + Celery 与 Scoped Session 错误

python - Django ORM : Ordering w/aggregate functions — None special treatment

python - 一起遍历列表的列表和列表

ios - user_photos 在 Swift 中访问列表

java - 如何从ArrayList打印特定项目

python - 如何在 TensorFlow 中生成随机向量并维护它以供进一步使用?