在Python中,[ - n:]做什么?

时间:2013-07-30 22:36:31

标签: python set

对不起基本问题,但这是什么意思:

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

有人可以提供解释[-n:]的参考吗?

2 个答案:

答案 0 :(得分:3)

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

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

因此,-nlen(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

答案 1 :(得分:0)

相关问题