Как я могу "считать со спины" в списках 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']
Это немного забавно, это Питон.