"John Salerno" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] | The reason I even brought this up is because I remember someone saying a | while back (probably here on the newsgroup) that the true use of a for | loop was to iterate through a sequence (for the purpose of using that | sequence), not to do something X number of times.
I believe the specific context was to counteract some people's tendency to write for i in range(len(seq)): do stuff with seq[i] when they would better (more Pythonically) write for item in seq: do stuff with item or even for i,item in enumerate(seq): do stuff with i and item. One subtle but real advantage is that the latter two forms work with iterables that do not have a known-ahead length or which even continue indefinitely. | Once they made this | comment, I suddenly saw the for loop in a new (and I believe purer) | light. That was the first time I realized what it was really meant | to do. That is an important insight. But to me it does not negate the "do something n times" usage when there is no iterable other than range to iterate. Do note that range has *not* been removed from 3.0 and that its main intended usage is for looping. | Now, you could easily make the argument that the Python for loop is a | much simpler tool to accomplish *both* of the above, and I suppose that | makes sense. Yes. Python leans toward minimalism. Proposals for various special-purpose loopin constructs have been rejected. For-loops cover most looping needs; while-loops cover everything else. Terry Jan Reedy -- http://mail.python.org/mailman/listinfo/python-list