Что такое стек (Stack) в Python
Python
Middle
Без компании
Что такое стек (Stack) в Python
Ответы
Стек — это структура данных, работающая по принципу LIFO (Last In, First Out), где последний добавленный элемент извлекается первым. В Python стек можно реализовать с помощью списка (`list`) или модуля `collections.deque` (предпочтительнее для производительности).
**Основные операции:**
- `push` (добавление элемента) — `append()`
- `pop` (удаление и возврат верхнего элемента) — `pop()`
- `peek` (просмотр верхнего элемента) — `stack[-1]`
- `is_empty` (проверка на пустоту) — `not stack`
**Пример:**
```
stack = []
stack.append(1) # [1]
stack.append(2) # [1, 2]
top = stack.pop() # 2, стек [1]
```
**Особенности:**
- Использование `list` для стека неэффективно при больших данных из-за динамического расширения.
- `deque` оптимизирован для быстрых операций с обоих концов (`append`/`pop` — O(1)).