所以我一直在玩 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/