python打印列表的最后40个元素

时间:2013-02-20 00:50:46

标签: python

我正在尝试做一些非常简单的事情:我需要从列表中获取最后40个元素。

我注意到没有直接的方法可以这样做,就像你在字符串中所做的那样,使用一个标准函数从字符串中获取最后的n个字符。

我知道如何获得列表的长度;所以我想到的只是使用max lenght并从列表末尾开始执行for循环,然后向后退80次。

max_size= len(my_list)

for i in range(max_size, (maxsize-80)):
    print my_list[i]
    i=i-1

这是正确的方法吗?或者列表对象中有某种功能可以执行此操作?我尝试了python网站的文档,但没有运气。

3 个答案:

答案 0 :(得分:2)

my_list[-40:]包含最后40个项目。具体来说,负列表索引告诉它从列表末尾开始计算那么多项,然后冒号告诉它继续直到结束。

答案 1 :(得分:1)

for i in my_list[-40:]:
    print(i)

答案 2 :(得分:0)

正如已经指出的那样切片是你想要的。你可以,如果你只有一个可迭代的(即你没有长度/只能向前读):

>>> from collections import deque
>>> deque(range(10), 2)
deque([8, 9], maxlen=2)