Что-то вроде этого?
for (a,b) in zip(list1, list2):
doSomething(a)
doSomething(b)
Хотя, если doSomething()
не выполняет ввод-вывод или не обновляет глобальное состояние, а одновременно работает только с одним из элементов, порядокНеважно, чтобы вы могли просто использовать chain()
(из itertools):
for x in chain(list1, list2):
doSomething(x)
Кстати, from itertools import *
- это то, что я делаю очень часто.Рассмотрим izip()
вместо использования zip()
, которое я дал выше.Также посмотрите на izip_longest()
, izip(count(), lst)
и т. Д. Добро пожаловать в функциональное программирование.: -)
О, и архивирование также работает с большим количеством «столбцов»:
for idx, a, b, c in izip(count(), A, B, C):
...