2017-01-07 3 views

ответ

2

это способ сделать это с помощью map и deque потреблять итератор (объяснение здесь: itertools consume recipie) :

from collections import deque 

def my_gen(): 
    data = '' 
    while data is not None: 
     print(data) 
     data = yield data 
    print(data) 
    yield data 

lst = [1, 2, 3] 
it = my_gen() 
next(it) # priming the generator still needs to be done 

deque(map(it.send, lst), maxlen=0) 
+0

Извините за недоразумение. Обновлен вопрос. Речь идет не о природе отправляемых данных, а о том, можем ли мы сделать «для» (и, возможно, праймировать) стандартную функцию? – VladimirLenin

Смежные вопросы