Sobes.tech
Back to questions
Junior — Middle
54

Каким образом реализовать стек в Python и какую структуру данных для этого выбрать?

Answer from AI

sobes.tech AI

Стек — это структура данных, работающая по принципу LIFO (Last In, First Out), то есть последний добавленный элемент извлекается первым.

В Python для реализации стека можно использовать список (list), так как у него есть методы append() для добавления элемента и pop() для удаления последнего добавленного элемента.

Пример реализации стека на списке:

stack = []

# Добавление элемента
stack.append(1)
stack.append(2)
stack.append(3)

# Извлечение элемента
top = stack.pop()  # top == 3

print(stack)  # [1, 2]

Если важна высокая производительность при большом количестве операций, можно использовать collections.deque, который оптимизирован для добавления и удаления элементов с обеих сторон:

from collections import deque

stack = deque()
stack.append(1)
stack.append(2)
stack.append(3)

top = stack.pop()  # 3
print(stack)  # deque([1, 2])