Справочник · модуль 17 «Финал»
Стек
Стек — список, где добавляют и убирают только с конца. Последний пришёл — первым вышел. В Python для этого хватает append и pop.
Сравнение из жизни
Как стопка тарелок: берёшь верхнюю.
Пример
def is_balanced(text):
stack = []
for ch in text:
if ch == "(":
stack.append(ch)
elif ch == ")":
if not stack:
return False
stack.pop()
return len(stack) == 0
print(is_balanced("(())"))
print(is_balanced("(()"))
print(is_balanced("())("))Результат
True False False
Учитель в уроке Третий приём: стек. Это список, где добавляют и убирают только с конца: последний пришёл, первым вышел. Как стопка тарелок. Открывающую скобку кладём в стек. На закрывающей убираем одну из стека. Если стек опустел раньше времени или не пуст в конце, скобки неправильные.
Запомнить
Стек — как стопка тарелок. Кладёшь сверху и берёшь сверху.
Тема из урока 17.3 «Задачи с собеседований» курса PythonAZ.