擅长:python、mysql、java
<p>不要像Java那样使用Python,为这样的基本adt定义类不是“Pythonic”,更不用说由于额外的包装而影响性能。你知道吗</p>
<p>内置的列表可以做到这一点,甚至更多。你知道吗</p>
<p>堆栈是后进先出(后进先出)</p>
<p><a href="https://docs.python.org/2/tutorial/datastructures.html#using-lists-as-stacks" rel="nofollow">Using Lists as Stacks</a></p>
<pre><code>>>> stack = []
# push, use append
>>> stack.append(1)
>>> stack.append(2)
>>> stack.append(3)
# pop
>>> stack.pop() # to get the last inserted element
>>>
3
# isEmpty
>>> if stack:
>>> print('not empty')
</code></pre>
<p>队列是FIFO(先进先出)</p>
<p><a href="https://docs.python.org/2/tutorial/datastructures.html#using-lists-as-queues" rel="nofollow">Using Lists as Queues</a></p>
<pre><code>>>> queue = collections.deque()
# push, use append
>>> queue.append(1)
>>> queue.append(2)
>>> queue.append(3)
# pull, use popleft to get the "first" inserted element
>>> queue.popleft()
>>>
1
</code></pre>