2013-07-19 40 views
3

說我有一個列表
l = ['h','e','l','l','o']
我希望能夠把最後兩個項目和使用它們,但我不知道該列表
有多長(這是用戶輸入)。所以不能這樣做l[3:],因爲如果列表是七個(或任何數量)項目而不是五個,那該怎麼辦?如何在python列表中「從背後算起」?

我如何從列表的後面數?

回答

9
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'] 
>>> 
+0

謝謝!這正是我期待的。 – Awalrod

2

給出一個列表a

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

您可以從結束與-3參考第三元素。

>>> a[-3] 
'2' 

指定上次之前第二個最後的範圍爲3(是的,這只是一個。):

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

指定上次來前的最後一個範圍從3:

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

並指定從第3個到最後一個的範圍:

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

這種方式很有趣,是Python。

3

你去那裏,這應該給你一個好主意

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:] 
最後兩個項目打印

但如果你堅持accesing從一開始的名單,同時不知道會是什麼lenth列表,你可以使用下面的打印

l[len(l)-2:]