【发布时间】:2012-03-19 10:35:51
【问题描述】:
我有一个包含大量数据的双端队列对象。我想从队列的前面提取 4096 个元素(我将它用作一种 FIFO)。似乎应该有办法做到这一点,而不必迭代超过 4096 个弹出请求。
这是正确/高效/愚蠢的吗?
A = arange(100000)
B = deque()
C = [] # List will do
B.extend(A) # Nice large deque
# extract 4096 elements
for i in xrange(4096):
C.append(A.popleft())
【问题讨论】:
-
是的,没错。是的,虽然它可以通过 boundmethods 和 itertools 进一步加速,但它的效率相当高。不,这并不愚蠢:-)