У меня есть два итератора на питоне, и оба должны следовать одному и тому же «случайному» распределению (оба должны работать параллельно). Например:Параллельное случайное распределение
class Iter1(object):
def __iter__(self):
for i in random_generator():
yield i
class Iter2(object):
def __iter__(self):
for i in random_generator():
yield i
for el1, el2 in zip(Iter1(), Iter2()):
print '{} {}'.format(el1, el2)
выход должен быть somethig как:
0.53534 0.53534
0.12312 0.12312
0.19238 0.19238
Как я могу определить random_generator()
таким образом, что она создает те же самые случайные распределения в параллельном для обоих итераторы.
Примечание:
- Они должны работать параллельно
- Я не могу генерировать последовательность заранее (это потоковый, так что я не знаю размер последовательности)
Спасибо.
Просто присвоить один выход к переменной и использовать эту переменную дважды – iScrE4m
Если вам нужны две копии одного и того же итерации, используйте 'itertools.tee' – jonrsharpe
Почему бы не генерировать один и скопировать его в другую? – Jeon