如何获取列表的最后一个元素?
首选哪种方式?
alist[-1]
alist[len(alist) - 1]
如何获取列表的最后一个元素?
首选哪种方式?
alist[-1]
alist[len(alist) - 1]
当前回答
您只需获取并放入[-1]索引即可。例如:
list=[0,1,2]
last_index=list[-1]
print(last_index)
您将得到2作为输出。
其他回答
some_list[-1]是最短、最Python的。
事实上,使用这种语法可以做得更多。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]将引发异常,因为空列表不能有最后一个元素。
您还可以执行以下操作:
last_elem = alist.pop()
这取决于您想对列表做什么,因为pop()方法将删除最后一个元素。
您可以将它与next和iter一起使用[::-1]:
>>> a = [1, 2, 3]
>>> next(iter(a[::-1]))
3
>>>
还可以使用长度获取最后一个元素:
last_elem = arr[len(arr) - 1]
如果列表为空,您将得到一个IndexError异常,但也可以通过arr[-1]得到该异常。
lst[-1]是最好的方法,但对于一般的可迭代项,请考虑more_itertools.last:
Code
import more_itertools as mit
mit.last([0, 1, 2, 3])
# 3
mit.last(iter([1, 2, 3]))
# 3
mit.last([], "some default")
# 'some default'