说我有一个清单
l = ['h','e','l','l','o']
我希望能够拿走最后两个项目并使用它们,但我不知道列表有多长
是(这是用户输入)。所以不能l[3:]
,因为如果列表是七个(或任何数字)项而不是五个呢?
如何从列表背面算起?
答案 0 :(得分:10)
print l[-2:]
负数从最后开始计算。
>>> l = ['h','e','l','l','o']
>>> print l[-2:]
['l', 'o']
>>> print l[-5:]
['h', 'e', 'l', 'l', 'o']
>>> print l[-6:]
['h', 'e', 'l', 'l', 'o']
>>>
答案 1 :(得分:4)
你去了,这应该给你一个好主意
l = ['h','e','l','l','o']
print l[2:]
#['l', 'l', 'o']
print l[:2]
#['h', 'e']
print l[:-2]
#['h', 'e', 'l']
print l[-2:]
#['l', 'o']
在您的情况下,正如某人已经建议您可以使用,下面的列表将打印列表中的最后两项
print l[-2:]
但是如果你坚持从头开始访问列表,而不知道列表的长度是什么,你可以使用以下内容打印
l[len(l)-2:]
答案 2 :(得分:2)
给出一个列表a
:
>>> a = ['1','2','3','4']
您可以使用-3
引用最后的第3个元素。
>>> a[-3]
'2'
指定从最后一个到最后一个之前的范围(是的,那只是一个。):
>>> a[-3:-2]
['2']
指定从最后一个到最后一个的范围:
>>> a[-3:-1]
['2', '3']
并指定从最后一个到最后一个之后的范围:
>>> a[-3:5]
['2', '3', '4']
这种方式很有趣,是Python。