Skip to content

Commit 55c522b

Browse files
Merge pull request #587 from kalkehcoisa/patch-1
Create Stack.py
2 parents 3b1bfcd + 40cead1 commit 55c522b

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

Python/Stack.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
class Stack:
2+
"""Stack implementation in Python.
3+
Usage:
4+
s = Stack()
5+
print(s.is_empty())
6+
s.push(4)
7+
s.push('dog')
8+
print(s.peek())
9+
s.push(True)
10+
print(len(s))
11+
print(s.is_empty())
12+
s.push(8.4)
13+
print(s.pop())
14+
print(s.pop())
15+
print(len(s))
16+
"""
17+
def __init__(self, items=None):
18+
self.items = [] if not items else items
19+
20+
def is_empty(self):
21+
return bool(self.items)
22+
23+
def push(self, item):
24+
self.items.append(item)
25+
26+
def pop(self):
27+
if len(self.items) == 0:
28+
return None
29+
return self.items.pop()
30+
31+
def peek(self):
32+
return self.items[len(self.items) - 1]
33+
34+
def __len__(self):
35+
return len(self.items)
36+

0 commit comments

Comments
 (0)