Почему следующий код Python вызывает ошибку?
TypeError: type object argument after * must be a sequence, not generator 
в то время как если я прокомментирую первую (бесполезную) линию в генераторе f, все будет хорошо работать?
from itertools import izip
def z():
    for _ in range(10): 
        yield _
def f(z):
    for _ in z: pass    # if I comment this line it works! (??)
    for x in range(10):
        yield (x,10*x,100*x,1000*x)
iterators =  izip(*f(z))
for it in iterators:
    print list(it)
N.B. То, что я на самом деле пытаюсь сделать, - с одним генератором - возвращать несколько итераторов (столько, сколько я передам генератору в качестве аргументов). Единственный способ, которым я нашел это, - это получить кортежи и использовать izip() для них - черную магию для меня.