4

假设我有一个列表
l = ['h','e','l','l','o']
,我希望能够获取最后两项并使用它们,但我不知道列表有多长
(这是用户输入)。所以不能这样做l[3:],因为如果列表是七个(或任意数量)项而不是五个呢?

我如何从列表的后面数数?

4

3 回答 3

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']
>>> 
于 2013-07-19T01:55:08.563 回答
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:]
于 2013-07-19T01:59:14.763 回答
2

给定一个列表a

>>> a  = ['1','2','3','4']

您可以使用 . 从末尾开始引用第三个元素-3

>>> a[-3]
'2'

指定从倒数第三个到倒数第二个的范围(是的,这只是一个。):

>>> a[-3:-2]
['2']

指定从倒数第三个到倒数第二个的范围:

>>> a[-3:-1]
['2', '3']

并指定从倒数第三个到倒数第二个的范围:

>>> a[-3:5]
['2', '3', '4']

那种方式很有趣,是Python。

于 2013-07-19T01:57:42.637 回答