John Salerno <[EMAIL PROTECTED]> writes: > 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? > > Ok, I think most people are misunderstanding my question a little. I > probably should have said xrange instead of range, but the point of my > question remains the same: > > Should a for loop be used simply to do something X number of times, or > should it strictly be used to step through an iterable object for the > purpose of processing the items in that object?
It makes me feel slightly uncomfortable too, but AFAIK there is no better way in Python. What I sometimes do is make the for loop bind its variable to something useful instead of an unused counter. Contrived example: # Print 'hello' 10 times; x is not used for x in xrange(10): print 'hello' # By changing what is iterated over, no unused variable: from itertools import repeat for msg in repeat('hello', 10): print msg -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list