У меня есть генератор, который пытается имитировать в реальном времени. Этот генератор гарантирует, что пользователь не имеет доступа к будущему, но только к текущему времени.Использование информации с предыдущего шага в генераторах?
Чтобы упростить мой случай я использовать этот генератор
def generator(n):
for x in range(n):
yield [[x],[x+3]]
при запуске для n = 5
генератор возвращает:
[[0], [3]]
[[1], [4]]
[[2], [5]]
[[3], [6]]
[[4], [7]]
Я хочу, чтобы иметь возможность комбинировать элементы каждого генератора итерации с элементами предыдущей итерации генератора для вычисления sum()
внутренних списков
case 1:
sum([0]), sum([3])
случай 2:
sum([0,1]), sum([3,4])
случай 3:
sum([0,1,2]), sum([3,4,5])
...
случай ПОСЛЕДНИЙ
sum([0,1,2,3,4]), sum([3,4,5,6,7])
Я не вижу, как это может быть chieved с помощью:
for x in generator(5):
do sum operation
ценности, которые я буду использовать в цикле for
пропадут для следующей итерации.
Пожалуйста, не сосредотачивайтесь на цифрах и результатах, но главным образом на логике и алгоритме, лежащем в основе возможного решения. В этом случае для меня важно иметь возможность сохранить ситуацию, когда доступ к будущим данным не разрешен, для расчетов могут использоваться только данные из прошлого, однако данные, которые я считаю из прошлого, уже исчезли, когда для итерация завершена!
Любое решение? Предложения?
Заранее благодарен!
вы можете хранить предварительно обработанные данные? – dm03514
@ dm03514 да разрешено хранить предыдущие итерации генератора. –