Back to questions
Junior — Middle
46
Какими структурами данных можно построить стек в Python?
Answer from AI
sobes.tech AI
В Python стек можно реализовать с помощью нескольких структур данных:
- Список (list) — самый простой способ. Методы
append()иpop()позволяют добавлять и удалять элементы с конца списка, что соответствует поведению стека.
stack = []
stack.append(1) # положить элемент
stack.append(2)
print(stack.pop()) # достать элемент, выведет 2
- collections.deque — двунаправленная очередь, которая эффективнее списка при операциях добавления и удаления с обоих концов.
from collections import deque
stack = deque()
stack.append(1)
stack.append(2)
print(stack.pop()) # 2
- Модуль queue — класс
LifoQueueреализует потокобезопасный стек, полезен в многопоточных приложениях.
from queue import LifoQueue
stack = LifoQueue()
stack.put(1)
stack.put(2)
print(stack.get()) # 2
Таким образом, для простых случаев достаточно списка, для более эффективных или потокобезопасных — deque или LifoQueue.