python列表获取最后一项_如何在Python中获取列表的最后一项?

切片

Python切片是一个非常快速的操作,它是快速访问部分数据的一种简便方法。

从列表(或支持它的任何其他序列,如字符串)中获取最后九个元素的切片表示法如下所示:num_list[-9:]

当我看到这一点时,我把括号里的部分读作“从头到尾第9个。”(实际上,我在心理上把它缩写为“-9,on”)

说明:

完整的符号是sequence[start:stop:step]

但是冒号告诉Python你给它一个切片而不是一个常规索引。这就是为什么在Python 2中复制列表的惯用方法是list_copy = sequence[:]

清除它们的方法是:del my_list[:]

(列表在Python 3中得到list.copy和list.clear。)

给你的切片起个描述性的名字!

您可能会发现分离切片的形成与将其传递给list.__getitem__方法(that's what the square brackets do)很有用。即使你不是新手,它也会让你的代码更具可读性,这样其他可能需要阅读你的代码的人就能更容易地理解你在做什么。

但是,不能将一些由冒号分隔的整数赋给变量。您需要使用slice对象:last_nine_slice = slice(-9, None)

然后可以将切片对象传递给序列:>>> list(range(100))[last_nine_slice]

[91, 92, 93, 94, 95, 96, 97, 98, 99]

islice

来自itertools模块的islice是另一种可能的实现方法。islice不接受负参数,因此理想情况下,iterable有一个__reversed__特殊方法,list有这个方法,因此必须首先将list(或iterable with __reversed__)传递给reversed。>>> from itertools import islice

>>> islice(reversed(range(100)), 0, 9)

islice允许延迟计算数据管道,因此要具体化数据,请将其传递给构造函数(如list):>>> list(islice(reversed(range(100)), 0, 9))

[99, 98, 97, 96, 95, 94, 93, 92, 91]

你可能感兴趣的:(python列表获取最后一项)