What does this zip() code mean?

380162267qq at gmail.com 380162267qq at gmail.com
Tue Sep 20 10:22:53 EDT 2016


在 2016年9月20日星期二 UTC-4上午9:35:50,Random832写道:
> On Tue, Sep 20, 2016, at 09:19, 380162267qq at gmail.com wrote:
> > >>> x = [1, 2, 3]
> > >>> y = [4, 5, 6]
> > >>> zipped = zip(x, y)
> > >>> list(zipped)
> > [(1, 4), (2, 5), (3, 6)]
> > >>> x2, y2 = zip(*zip(x, y))
> > >>> x == list(x2) and y == list(y2)
> > True
> > 
> > My problem is >>> x2, y2 = zip(*zip(x, y)).
> > zip return an iterator but x2 and y2 are different?
> > I really need detail explanation about this line.
> 
> Well, as you've seen, zip(x, y) is (1, 4), (2, 5), (3, 6)
> 
> This means that zip(*...) is zip((1, 4), (2, 5), (3, 6)).  It takes the
> first element of each argument (1, 2, and 3), and then the next element
> of each argument (4, 5, and 6).

thank you!



More information about the Python-list mailing list