inverse of izip

Satchidanand Haridas sharidas at zeomega.com
Thu Aug 19 08:37:48 CEST 2004


Steven Bethard wrote:

>So I know that zip(*) is the inverse of zip(), e.g.:
>
>  
>
>>>>zip(*zip(range(10), range(10)))
>>>>        
>>>>
>[(0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)]
>
>What's the inverse of izip?  Of course, I could use zip(*) or izip(*),
>e.g.:
>
>  
>
>>>>zip(*itertools.izip(range(10), range(10)))
>>>>        
>>>>
>[(0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)]
>  
>
>>>>x, y = itertools.izip(*itertools.izip(range(10), range(10)))
>>>>x, y
>>>>        
>>>>
>((0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9))
>
>But then I get a pair of tuples, not a pair of iterators.  Basically,
>I want to convert an iterator of tuples into a tuple of iterators.
>
>Steve
>  
>
---------------------------------

 >>> a = itertools.izip(*itertools.izip(range(10),range(10)))
 >>> a
<itertools.izip object at 0x40164f2c>

 >>>a.next()
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
 >>> a.next()
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
 >>> a.next()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
StopIteration

-----------------------------


Regards,
Satchit


----
Satchidanand Haridas (sharidas at zeomega dot com)

ZeOmega (www.zeomega.com)
Open  Minds' Open Solutions

#20,Rajalakshmi Plaza,
South End Road,
Basavanagudi,
Bangalore-560 004, India






More information about the Python-list mailing list