Как я могу "считать со спины" в списках Python?

Скажи у меня есть список
l = ['h','e','l','l','o']
Я хочу иметь возможность взять последние два предмета и использовать их, но я не знаю, какой длины список
это (это пользовательский ввод). Так не могу сделать l[3:] потому что, если список состоит из семи (или любого числа) элементов вместо пяти?

Как я могу сосчитать с конца списка?

3 ответа

Решение
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']
>>> 

Вот и все, это должно дать вам хорошую идею

  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:]

Учитывая список a:

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

Вы можете ссылаться на третий элемент с конца -3,

>>> a[-3]
'2'

Укажите диапазон от 3-го до 2-го (да, это только один):

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

Укажите диапазон от 3-го до последнего:

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

И укажите диапазон от 3-го до последнего:

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

Это немного забавно, это Питон.

Другие вопросы по тегам