使用List模拟栈和队列:
deleted_value = L.pop(index)
L.append(value)
入栈:L.append(value)
出栈:deleted_val = L.pop(-1)
入队列:L.append(value)
出队列:deleted_val = L.pop(0)
使用双向队列 deque
from collections import deque
dq = deque(range(10), maxlen=10)
# maxlen参数可选,创建后就不可改。
# 满员后,再插入数据会移除现有数据
栈
dq.append(value)
deleted_val = dq.pop()
队列
dq.append(value)
deleted_val = dq.popleft()
| append(...)
| Add an element to the right side of the deque.
|
| appendleft(...)
| Add an element to the left side of the deque.
|
| clear(...)
| Remove all elements from the deque.
|
| copy(...)
| Return a shallow copy of a deque.
|
| count(...)
| D.count(value) -> integer -- return number of occurrences of value
|
| extend(...)
| Extend the right side of the deque with elements from the iterable
|
| extendleft(...)
| Extend the left side of the deque with elements from the iterable
|
| index(...)
| D.index(value, [start, [stop]]) -> integer -- return first index of value.
| Raises ValueError if the value is not present.
|
| insert(...)
| D.insert(index, object) -- insert object before index
|
| pop(...)
| Remove and return the rightmost element.
|
| popleft(...)
| Remove and return the leftmost element.
|
| remove(...)
| D.remove(value) -- remove first occurrence of value.
|
| reverse(...)
| D.reverse() -- reverse *IN PLACE*
|
| rotate(...)
| Rotate the deque n steps to the right (default n=1). If n is negative, rotates left.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| maxlen
| maximum size of a deque or None if unbounded
|
| ----------------------------------------------------------------------