list - Python (2.x) 列表/子列表选择 -1 怪异

标签 list python-2.x sublist

所以我一直在玩 python 并注意到一些似乎有点奇怪的东西。 -1 从列表中选择的语义似乎不一致。

所以我有一个数字列表

ls = range(1000)

如果当然是 ls[-1] 列表的最后一个元素,但如果我采用它的子列表,以便我得到从中点到结尾的所有内容,我会这样做

ls[500:-1]

但这并没有给我一个包含列表中最后一个元素的列表,而是一个包含直到最后一个元素的所有内容的列表。但是,如果我这样做了

ls[0:10]

我得到一个包含第十个元素的列表(因此选择器应该包含在内),为什么它不适用于 -1

我当然可以使用 ls[500:]ls[500:len(ls)] (这很愚蠢)。我只是想知道与 -1 的交易是什么,我意识到我在那里不需要它。

最佳答案

list[first:last] 中,last 不包括在内。

第 10 个元素是 ls[9],在 ls[0:10] 中没有 ls[10]

关于list - Python (2.x) 列表/子列表选择 -1 怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451157/

相关文章:

python - 元类错误 : type. __init__() 需要 1 个或 3 个参数

python - struct.unpack 和 win/lin 中 python 2.4 和 2.4.4 的问题

python - 从python中的列表列表中选择一个子列表

c# - List<> 集合成员在不应该更改时更改

android - 更改自定义 CursorAdapter 的行布局

list - Prolog - 笛卡尔积计算器

java - 制作列表的子列表,该子列表位于对象存储的列表中

CSS 垂直导航栏

exception - 在 Python 2 和 Python3 上重新引发 Cython 中的异常

java - 交换 List<MyObject> 中的子列表