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