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()
方法将删除最后一个元素。