[Tutor] Python Idioms?

Alan Gauld alan.gauld at btinternet.com
Wed Apr 1 12:50:11 CEST 2015


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




More information about the Tutor mailing list