如何获取列表的最后一个元素?
原文由 Janusz 发布,翻译遵循 CC BY-SA 4.0 许可协议
If your str()
or list()
objects might end up being empty as so: astr = ''
or alist = []
, then you might want to use 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 对象更像“最后一个元素”——然后是一个异常对象。
原文由 DevPlayer 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
some_list[-1]
是最短和最 Pythonic 的。事实上,你可以用这种语法做更多的事情。
some_list[-n]
语法获取倒数第 n 个元素。所以some_list[-1]
得到最后一个元素,some_list[-2]
得到倒数第二个,依此类推,一直到some_list[-len(some_list)]
,这给了你第一个元素。您也可以通过这种方式设置列表元素。例如:
请注意,如果预期的项目不存在,按索引获取列表项将引发
IndexError
。这意味着如果some_list
为空,则 ---some_list[-1]
将引发异常,因为空列表不能有最后一个元素。