Элегантный и быстрый способ последовательной итерации двух или более контейнеров в Python?

У меня есть три collection.deques, и мне нужно перебрать каждый из них и выполнить то же действие:

for obj in deque1:  
    some_action(obj)  

for obj in deque2:  
    some_action(obj)

for obj in deque3:  
    some_action(obj)

Я ищу некоторую функцию XXX, которая в идеале позволила бы мне написать:

for obj in XXX(deque1, deque2, deque3):  
    some_action(obj)

Здесь важно то, что XXX должен быть достаточно эффективным - без копирования или тихого использования range () и т. д. Я ожидал найти его во встроенных функциях, но пока не нашел ничего похожего на него.

Есть ли такое уже в Python, или мне нужно написать функцию для этого самостоятельно?

25
задан David Heffernan 25 January 2011 в 22:41
поделиться