2013-07-19 2 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-й элемент с конца с -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:] 

Но если вы настаиваете экранный список с самого начала, а не зная, что будет Lenth из списка, вы можете использовать следующий для печати

l[len(l)-2:] 
Смежные вопросы