如何获取列表的最后一个元素?
首选哪种方式?
alist[-1]
alist[len(alist) - 1]
如何获取列表的最后一个元素?
首选哪种方式?
alist[-1]
alist[len(alist) - 1]
当前回答
如果str()或list()对象最终可能为空:astr=“”或alist=[],那么您可能希望使用alist[-1:]而不是alist[-1]来表示对象“sameness”。
其意义在于:
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对象更像是“最后一个元素”,而不是异常对象。
其他回答
好的,但几乎每种语言中的通用项[len(items)-1]呢?这是IMO获取最后一个元素的最简单方法,因为它不需要任何蟒蛇知识。
方法1:
L = [8, 23, 45, 12, 78]
print(L[len(L)-1])
方法2:
L = [8, 23, 45, 12, 78]
print(L[-1])
方法3:
L = [8, 23, 45, 12, 78]
L.reverse()
print(L[0])
方法4:
L = [8, 23, 45, 12, 78]
print(L[~0])
方法5:
L = [8, 23, 45, 12, 78]
print(L.pop())
全部输出78
奇怪的是还没有人发布这个:
>>> l = [1, 2, 3]
>>> *x, last_elem = l
>>> last_elem
3
>>>
打开包装。
找不到任何提及此的答案。所以补充道。
您也可以尝试some_list[~0]。
那是波浪符号
为了避免“IndexError:列表索引超出范围”,可以使用这段代码。
list_values = [12, 112, 443]
def getLastElement(lst):
if len(lst) == 0:
return 0
else:
return lst[-1]
print(getLastElement(list_values))