Представьте, что у нас есть итератор, скажем, iter(range(1, 1000))
. И у нас есть две функции, каждая из которых принимает итератор как единственный параметр, например sum()
и max()
. В мире SQL мы будем называть их совокупными функциями.
Есть ли способ получить результаты как без буферизации вывода итератора?
Чтобы сделать это, нам нужно будет приостановить и возобновить выполнение агрегатной функции, чтобы прокормить их обоими одинаковыми значениями, не сохраняя их. Может быть, есть способ выразить это, используя асинхронные вещи без сна?