Стек
Python SimpleСтек, это контейнерная структура данных, каждая ячейка которого может содержать любые данные или ссылку на какие-то данные, как и список. Стек не представлен в python как отдельная структура данных, поэтому её как правило надо создавать самому.
Философия стека это LIFO (Last In First Out). Что это значит?
У стека как правило есть 2 основных метода, это:
push() - положить элемент на вершину стека,
pop() - возвращает значение с вершины стека, при этом удаляет этот элемент.
Иногда опционально добавляют ещё 2 метода:
is_empty() - проверяет пустой ли стек и возвращает True|False,
peek() - возвращает значение с вершины стека, но при этом не убирать его из стека.
Если привести пример из жизни, то на стек очень похожа стопка книг на столе, когда мы можем только положить книгу на верх стопки и взять также можем только сверху, но не можем вытащить из середины. Получается LIFO, то есть объект, который добавили последним, забираем первым.
Пример работы стека:

Пример реализации стека с помощью списка, эквиваленты методов стека:
