Sobes.tech
Back to questions
Junior — Middle
46

Какими структурами данных можно построить стек в Python?

Answer from AI

sobes.tech AI

В Python стек можно реализовать с помощью нескольких структур данных:

  1. Список (list) — самый простой способ. Методы append() и pop() позволяют добавлять и удалять элементы с конца списка, что соответствует поведению стека.
stack = []
stack.append(1)  # положить элемент
stack.append(2)
print(stack.pop())  # достать элемент, выведет 2
  1. collections.deque — двунаправленная очередь, которая эффективнее списка при операциях добавления и удаления с обоих концов.
from collections import deque
stack = deque()
stack.append(1)
stack.append(2)
print(stack.pop())  # 2
  1. Модуль queue — класс LifoQueue реализует потокобезопасный стек, полезен в многопоточных приложениях.
from queue import LifoQueue
stack = LifoQueue()
stack.put(1)
stack.put(2)
print(stack.get())  # 2

Таким образом, для простых случаев достаточно списка, для более эффективных или потокобезопасных — deque или LifoQueue.