协慌网

登录 贡献 社区

在 Python 中获取列表的最后一个元素

在 Python 中,如何获得列表的最后一个元素?

答案

some_list[-1]是最短和最 Pythonic。

实际上,您可以使用此语法执行更多操作。 some_list[-n]语法获取第 n 个到最后一个元素。所以some_list[-1]得到最后一个元素, some_list[-2]得到倒数第二个等等,一直到some_list[-len(some_list)] ,它给你第一个元素。

您也可以这种方式设置列表元素。例如:

>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Set the last element
>>> some_list[-2] = 3 # Set the second to last element
>>> some_list
[1, 3, 5]

请注意,如果预期项不存在,则通过索引获取列表项将引发IndexError 。这意味着如果some_list为空, some_list[-1]将引发异常,因为空列表不能包含最后一个元素。

如果你的str()list()对象最终可能是空的: astr = ''alist = [] ,那么你可能想要使用alist[-1:]而不是alist[-1]作为对象 “千篇一律”。

这意味着:

alist = []
alist[-1]   # will generate an IndexError exception whereas 
alist[-1:]  # will return an empty list
astr = ''
astr[-1]    # will generate an IndexError exception whereas
astr[-1:]   # will return an empty str

区别在于返回空列表对象或空 str 对象更像是 “最后一个元素”,然后是异常对象。

你也可以这样做:

alist.pop()

这取决于你想对列表做什么,因为pop()方法将删除最后一个元素。