如何获取列表的最后一个元素?
首选哪种方式?
alist[-1]
alist[len(alist) - 1]
如何获取列表的最后一个元素?
首选哪种方式?
alist[-1]
alist[len(alist) - 1]
当前回答
还可以使用长度获取最后一个元素:
last_elem = arr[len(arr) - 1]
如果列表为空,您将得到一个IndexError异常,但也可以通过arr[-1]得到该异常。
其他回答
要防止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'
好的,但几乎每种语言中的通用项[len(items)-1]呢?这是IMO获取最后一个元素的最简单方法,因为它不需要任何蟒蛇知识。
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'
您可以将它与next和iter一起使用[::-1]:
>>> a = [1, 2, 3]
>>> next(iter(a[::-1]))
3
>>>
找不到任何提及此的答案。所以补充道。
您也可以尝试some_list[~0]。
那是波浪符号