[Tutor] html checker
eryksun at gmail.com
Tue Oct 2 03:14:40 CEST 2012
On Mon, Oct 1, 2012 at 7:46 PM, Alan Gauld <alan.gauld at btinternet.com> wrote:
> As c smith points out, Python lists have a pop/push mechanism as standard
> which makes implementing a stack in Python fairly trivial.
> To expand on how reversing works consider pushing the string foo onto the
> stack then popping it off again:
> s = 'foo'
> stack = 
> stack.push(s) # stack -> ['f']
> stack.push(s) # stack -> ['o','f']
> stack.push(s) # stack -> ['o','o','f']
> c1 = stack.pop() # stack -> ['o','f'], c1 = 'o'
> c2 = stack.pop() # stack -> ['f'], c1 = 'o', c2 = 'o'
> c3 = stack.pop() # stack -> , c1 = 'o', c2 = 'o', c3 = 'f'
> print c1+c2+c3 # prints 'oof' the reverse of s
It's a good example, but please indicate when you've switched to
pseudocode. In Python "stack = " assigns a new list to stack, which
has no "push" method. It can append() and pop() from the end in
constant time to implement an efficient stack.
More information about the Tutor