pop in stack python code example

Example 1: python pop

# Python list method pop() removes
# and returns last object or obj from the list.
# .pop() last element .pop(0) first element

my_list = [123, 'Add', 'Grepper', 'Answer'];
print "Pop default: ", my_list.pop()
> Pop default:  Answer
# List updated to [123, 'Add', 'Grepper']
print "Pop index: ", my_list.pop(1)
> Pop index: Add
# List updated to [123, 'Grepper']

Example 2: stack data structure python

#using doubly linked list
from collections import deque
myStack = deque()

myStack.append('a')
myStack.append('b')
myStack.append('c')

myStack
deque(['a', 'b', 'c'])

myStack.pop()
'c'
myStack.pop()
'b'
myStack.pop()
'a'

myStack.pop()

#Traceback (most recent call last):
 #File "<console>", line 1, in <module>
##IndexError: pop from an empty deque

Example 3: stack using array python

class ArrayStack:
	def __init__(self):
		self._data = []

	def __len(self):
		return len(self._data)

	def is_empty(self):
		return len(self._data) == 0

	def push(self, e):
		self._data.append(e)

	def pop(self):
		if self.is_empty():
			raise Empty('stack is empty')
		else:
			return self._data.pop()

	def top(self):
		if self.is_empty():
			raise Empty('Stack is empty')
		else:
			return self._data[-1]

	@property
	def data(self):
		return self._data


class Empty(Exception):
	pass

Example 4: .pop python

array.pop(2) # removes element at index 2