Автор оригинала: Pankaj Kumar.
В нашем предыдущем уроке мы узнали о обработке сигнала Python. В этом руководстве мы узнаем о стеке Python.
Python Stack
Начать с этого учебника, вы должны знать, что на первый взгляд. В основном стека Последнее снаружи структура данных. Это означает, что элемент, который вступил в последний в системе, будет сразу удален.
Например, скажем, у вас есть труба с одним открытым концом. И у вас есть несколько шаров, которые соответствуют просто в трубе. Поэтому, когда вы вставите эти шары в трубу, они будут сложены друг на друга. Однако, когда вы удалите шары, последний будет удален первым.
Python Stack Push
Ну, нет дополнительной структуры данных, как стек Python. Но в качестве стека является очень распространенной структурой данных, мы постараемся реализовать это.
Поэтому, если вы уже изучались в стеке, вы должны знать, что стек имеет две операции. Один из них толчок
И другой – поп
Отказ В этом разделе мы будем обсуждать протолкнуть операцию. Push-операция используется для добавления элементов в стек. Как мы будем использовать Список Python Как стек, мы можем использовать Добавить ()
Функция для толкания элементов в список.
stack = [] # initialize a list as stack print('current stack :', stack) # add items to the stack for i in range(5): # push items into stack stack.append(i) print('current stack :', stack,'\tstack size :', len(stack))
Выход приведенного выше приведенного выше примера стека будет похоже на изображение.
Python Stack Pop.
Теперь нам нужно узнать, как поп-предметы из стека. Список Python имеет функцию с именем POP ()
Это удаляет последний элемент из списка. Но перед удалением вы должны проверить, будет ли стек пустым. Таким образом, если мы добавим POP-реализацию до предыдущего кода, то последний код будет как ниже.
stack = [] # initialize a list as stack print('\ncurrent stack :', stack) print('\nPush items to the stack') # add items to the stack for i in range(5): # push items into stack stack.append(i) print('current stack :', stack,'\tstack size :', len(stack)) print('\nPop items from te stack') # now pop items from the stack while len(stack) > 0: # check if the stack is empty stack.pop() print('current stack :', stack, '\tstack size :', len(stack))
Итак, вывод будет таким же ниже.
Push items to the stack current stack : [0] stack size : 1 current stack : [0, 1] stack size : 2 current stack : [0, 1, 2] stack size : 3 current stack : [0, 1, 2, 3] stack size : 4 current stack : [0, 1, 2, 3, 4] stack size : 5 Pop items from te stack current stack : [0, 1, 2, 3] stack size : 4 current stack : [0, 1, 2] stack size : 3 current stack : [0, 1] stack size : 2 current stack : [0] stack size : 1 current stack : [] stack size : 0
Реализация стека Python
Как вы видите, что мы можем использовать функции POPEND () и POP () для создания нашего класса реализации стека. Вот класс реализации стека на примере.
class Stack: stack = [] # empty list max_size = -1 def __init__(self, size=-1): # defining maximum size in the constructor self.max_size = size def push(self, item): if self.max_size == -1: # if there is no limit in stack self.stack.append(item) elif len(self.stack) < self.max_size: # if max limit not crossed self.stack.append(item) else: # if max limit crossed print('Can\'t add item. Stack limit is :', self.max_size) raise RuntimeError def pop(self): if len(self.stack) > 0: temp = self.stack[-1] self.stack.pop() return temp else: print('stack is already empty.') raise IndexError def top(self): if len(self.stack) > 0: return self.stack[-1] # returns the last item else: print('stack is already empty.') raise IndexError stack = Stack() stack.push(1) # push item 1 stack.push(2) # push item 2 print('Pop the last item :', stack.pop()) # pop the top item print('Current top item is :', stack.top()) # current top item
Приведенный выше код будет выведен так
Pop the last item : 2 Current top item is : 1
Итак, вот и все о стеке Python. Если у вас есть путаница относительно реализации стека Python, пожалуйста, используйте окно комментариев.
Ссылка: Официальное руководство