Встречается на собеседованиях • сегодня

Какую структуру данных будешь использовать для хранения стека на Python

Для реализации стека в Python оптимально использовать обычный список (list), так как он уже предоставляет нужные операции с эффективностью O(1):

  • append() для добавления элемента (аналог push)
  • pop() для удаления и возврата последнего элемента
python
stack = []
stack.append(1)  # push
stack.append(2)
top = stack.pop()  # вернет 2

Если нужна более строгая реализация, можно создать класс:

python
class Stack:
    def __init__(self):
        self._items = []
    
    def push(self, item):
        self._items.append(item)
    
    def pop(self):
        if not self.is_empty():
            return self._items.pop()
        raise IndexError("pop from empty stack")
    
    def is_empty(self):
        return len(self._items) == 0

Для многопоточных приложений лучше использовать queue.LifoQueue.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы