Зациклить два генератора вместе
У меня два генератора говорятA()
а такжеB()
, Я хочу перебрать оба генератора вместе. Что-то вроде:
for a,b in A(),B(): # I know this is wrong
#do processing on a and b
Один из способов - сохранить результаты обеих функций в списках, а затем перебрать объединенный список. Что-то вроде этого:
resA = [a for a in A()]
resB = [b for b in B()]
for a,b in zip(resA, resB):
#do stuff
Если вам интересно, то да обе функции выдают равное количество значений.
Но я могу'т использовать этот подход, потому чтоA()/B()
возвращает так много значений. Хранение их в списке истощит память, чтоПоэтому я использую генераторы.
Есть ли способ зациклить оба генератора одновременно?