由于deque是一个双向链表,我应该能够按顺序迭代它,而不需要与列表相比具有任何性能成本。但是,以下内容很多比遍历列表
慢for i in range(0, len(d)):
doSomethingWith(d[i])
每次从d[i]
开始前往d[0]
。如何正确迭代?
答案 0 :(得分:12)
您可以直接遍历deque。
for i in d:
doSomethingWith(i)
(参见文档中的示例:https://docs.python.org/2/library/collections.html#collections.deque)
答案 1 :(得分:0)
我使用while
循环进行deque
迭代,如下所示:
lst = [1,2,4,8]
queue=deque(lst)
print(queue)
while queue:
print('{}{}'.format("head: ",queue[0]))
queue.popleft()
输出:
deque([1, 2, 4, 8])
head: 1
head: 2
head: 4
head: 8