On 01/04/15 11:04, Wolfgang Maier wrote:
On 04/01/2015 11:04 AM, Alan Gauld wrote:
On 01/04/15 05:50, Jim Mooney wrote:

s = [1,2,3,4,5,6,7,8]
list(zip(*[iter(s)]*2))
[(1, 2), (3, 4), (5, 6), (7, 8)]

Personally I'd have used slicing in this example:

zip(s[::2],s[1::2])


With an emphasis on *in this example*.

The idiom you are citing works on any iterable, not all of which support
slicing and the slicing version requires two passes over the data.

Agreed, but readability always trumps performance,
unless performance is critical.
In which case readability usually trumps performance.

And especially on a beginners list.

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to