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

0 投票
3 回答
962 浏览
提问于 2025-04-17 16:27

我想做一件很简单的事情:我需要从一个列表中获取最后40个元素。

我发现没有像处理字符串那样直接的方法,比如用标准函数获取字符串的最后n个字符。

我知道怎么获取列表的长度;所以我想的办法是用列表的最大长度,然后用一个循环从列表的末尾开始,向回走80次。

max_size= len(my_list)

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

这样做对吗?或者列表对象里有没有什么函数可以直接做到这一点?我查了Python网站的文档,但没找到合适的办法。

3 个回答

0

正如之前提到的,切片就是你想要的。如果你只有一个可迭代的对象(也就是说,你不能知道它的长度或者只能向前读取),你可以这样做:

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

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能会在使用某个功能时,发现它并没有按照预期工作。这时候,查看相关的讨论或者问答平台,比如StackOverflow,就能帮助我们找到解决方案。

在这些讨论中,大家会分享自己的经验,提出问题,或者给出建议。通过这些交流,我们可以更好地理解代码是如何工作的,遇到问题时该如何处理。

总之,编程的过程中,遇到问题是很正常的,重要的是要学会寻找帮助和解决方案,这样才能不断进步。

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

my_list[-40:] 这个写法表示取出列表最后的40个项目。具体来说,负数的索引是告诉程序从列表的末尾开始往回数,比如-1是最后一个,-2是倒数第二个,依此类推。而后面的冒号表示要一直取到列表的最后。

撰写回答