如何获取列表的最后一个元素?

首选哪种方式?

alist[-1]
alist[len(alist) - 1]

当前回答

还可以使用长度获取最后一个元素:

last_elem = arr[len(arr) - 1]

如果列表为空,您将得到一个IndexError异常,但也可以通过arr[-1]得到该异常。

其他回答

奇怪的是还没有人发布这个:

>>> l = [1, 2, 3]
>>> *x, last_elem = l
>>> last_elem
3
>>> 

打开包装。

如果不想在列表为空时获取IndexError,也可以使用下面的代码。

next(reversed(some_list), None)

您可以使用~运算符从end获取第i个元素(从0开始索引)。

lst=[1,3,5,7,9]
print(lst[~0])

要防止IndexError:list索引超出范围,请使用以下语法:

mylist = [1, 2, 3, 4]

# With None as default value:
value = mylist and mylist[-1]

# With specified default value (option 1):
value = mylist and mylist[-1] or 'default'

# With specified default value (option 2):
value = mylist[-1] if mylist else 'default'

如果执行my_list[-1],则返回列表的最后一个元素。负序列索引表示从数组末尾开始的位置。负索引表示从末尾开始,-1表示最后一项,-2表示最后第二项,等等。