1

很抱歉这个基本问题,但这意味着什么:

active = set(self.go[-self.length:]):

任何人都可以提供参考来解释[-n:]吗?

4

2 回答 2

4

你可以在 python 中有负索引,在这种情况下它开始倒数:

>>> li = [1, 2, 3, 4]
>>> li[1:]
[2, 3, 4]
>>> li[-3:]
[2, 3, 4]

因此,-n与 相同len(l) - n,并返回n列表的最后一个元素。0如果索引超出范围,则范围四舍五入。

请注意,您可以在切片表示法中使用超出范围的索引:

>>> li[-6:]
[1, 2, 3, 4]
>>>
>>> li[:60]
[1, 2, 3, 4]
>>>
>>> li[-100:100]
[1, 2, 3, 4]

当您使用超出范围的索引来获取单个元素时,这是不一样的:

>>> li[-1]
4
>>> li[len(li) - 1]  # Same as previous
4
>>> li[-100]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
于 2013-07-30T22:38:12.087 回答
0

负索引从列表末尾开始计数。

于 2013-07-30T22:37:05.900 回答