John Salerno wrote: > I know it's popular and very handy, but I'm curious if there are purists > out there who think that using something like: > > for x in range(10): > #do something 10 times > > is unPythonic. The reason I ask is because the structure of the for loop > seems to be for iterating through a sequence. It seems somewhat > artificial to use the for loop to do something a certain number of > times, like above. > > Anyone out there refuse to use it this way, or is it just impossible to > avoid?
Well, you should use "xrange(10)" instead of "range(10)". While range() returns a list of every single number, xrange() returns an iterable object that only generates them on-demand, so xrange(1) and xrange(sys.maxint) will use the same amount of RAM. (Not that it matters when it's only 10 items, of course.) Other than that, "for i in xrange(10)" is a standard Python idiom, even though it is a bit weird. -- -- http://mail.python.org/mailman/listinfo/python-list