Сообщить об ошибке.

Способы извлечения n последних элементов списка в Python

Получение N последних элементов списка срезом.

Например получим 5 последних элементов списка:

>>> lst = list(range(10))
>>> lst
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> lst[-5:]
# [5, 6, 7, 8, 9]

При помощи синтаксиса среза можно сделать гораздо больше. Синтаксис lst[-n] получает элемент n начиная с конца. Таким образом, list[-1] получает последний элемент, list[-2] получает предпоследний и т. д., вплоть до list[-len(list)], что дает первый элемент.

Получение N последних элементов реверсом списка.

Если использовать реверс списка, то последние элементы оригинального списка окажутся в начале:

# создаем список
>>> lst = list(range(10))
>>> lst
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# переворачиваем список, !обратите внимание, 
# что метод `.reverse()` изменяет список "на месте" 
# Если нужно сохранить оригинальный список, то
# необходимо работать с копией lst_copy = lst.copy()
>>> lst.reverse()
>>> lst
# [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

# последние элементы начального списка
>>> lst[:5]
# [9, 8, 7, 6, 5]

Если нужно, то результирующий список можно отобразить в обратном порядке:

>>> rev_lst = lst[:5]
>>> rev_lst.reverse()
>>> rev_lst
[5, 6, 7, 8, 9]