1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| class Stack ( list ) :
def pops(self,n):
'''pops the n first elements'''
res = self[0:n]
self[0:n] = []
print ' res ',id(res),res
print ' self ',id(self),self
return res
def push (self,vals):
print ' self ',id(self),self
'''pushes vals at the head (vals must be a list)'''
self[0:0] = vals
print ' self ',id(self),self
a = Stack()
print 'new a =',id(a),a
print '\na.push([2,3])'
a.push([2,3])
print 'a ',id(a),a
print '\na.push([7,8,34,56])'
a.push([7,8,34,56])
print 'a ',id(a),a
print '\na.pops(3)'
a.pops(3)
print 'a ',id(a),a |