I'm trying to write a 'flatten' generator which, when give a 
generator/iterator that can yield iterators, generators, and other data 
types, will 'flatten' everything so that it in turns yields stuff by 
simply yielding the instances of other types, and recursively yields the 
stuff yielded by the gen/iter objects.

To do this, I need to determine (as fair as I can see), what are 
generator and iterator objects. Unfortunately:

 >>> iter("abc")
<iterator object at 0x61d90>
 >>> def f(x):         
...     for s in x: yield s
...
 >>> f
<function f at 0x58230>
 >>> f.__class__
<type 'function'>

So while I can identify iterators, I can't identify generators by class.

Is there a way to do this? Or perhaps another (better) way to achieve 
this flattening effect? itertools doesn't seem to have anything that 
will do it.

Thanks,
Ken
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to