我如何在python列表中“从后面算”?

时间:2013-07-19 01:53:50

标签: python string list python-2.5

说我有一个清单
l = ['h','e','l','l','o']
我希望能够拿走最后两个项目并使用它们,但我不知道列表有多长 是(这是用户输入)。所以不能l[3:],因为如果列表是七个(或任何数字)项而不是五个呢?

如何从列表背面算起?

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。