根据您要处理项目的顺序:
import itertoolsfor items in itertools.izip(deque1, deque2, deque3): for item in items: some_action(item)for item in itertools.chain(deque1, deque2, deque3): some_action(item)
我建议这样做,以避免对实际的双端队列或双端队列进行硬编码:
deques = [deque1, deque2, deque3]for item in itertools.chain(*deques): some_action(item)
为了证明上述方法的顺序不同:
>>> a = range(5)>>> b = range(5)>>> c = range(5)>>> d = [a, b, c]>>>>>> for items in itertools.izip(*d):... for item in items:... print item,...0 0 0 1 1 1 2 2 2 3 3 3 4 4 4>>>>>> for item in itertools.chain(*d):... print item,...0 1 2 3 4 0 1 2 3 4 0 1 2 3 4>>>



