buffi wrote: > On Sep 15, 11:58 pm, James Stroud <[EMAIL PROTECTED]> wrote: >> Hello all, >> >> I was staring at a segment of code that looked like this today: >> >> for something in stuff[x:y]: >> whatever(something) >> >> and was wondering if the compiler really made a copy of the slice from >> stuff as the code seems to suggest, or does it find some way to produce >> an iterator without the need to make a copy (if stuff is a built-in >> sequence type)? Or would it be more efficient to do the more clumsy (in >> my opinion): >> >> for i in xrange(x, y): >> whatever(stuff[i]) >> >> James > > itertools.islice does what you want > > import itertools > for something in itertools.islice(stuff, x, y): > whatever(something) >
Thanks buffi! So I guess the interpreter does no optimization in the latter? James -- http://mail.python.org/mailman/listinfo/python-list