Python 101 (part 3): A Twist In The Tail - Twist And Turn (
Page 6 of 8 )
In most programming languages, a "for" loop is used to execute a set of
statements a certain number of times. Unlike a "while" loop, which
continues to run for so long as the specified conditional expression
evaluates as true, a "for" loop comes with a specific limit on the number
of times it can iterate.
Python's "for" loop conforms to this basic requirement; however, as with
most things in Python, there's a twist in the tail. A Python "for" loop is
designed only to iterate over built-in "sequence objects" like strings and
lists, and is structured like this:
for temp_var in sequence_obj:
do this!
Or, in English, "take each element of the sequence sequence_obj, place it
in the variable temp_var, and execute the indented code block on temp_var".
An example might help to make this clearer:
>>> superheroes = ['Incredible Hulk', 'Green Lantern', 'Human Torch',
'Captain America']
>>> for myhero in superheroes:
... print myhero, "rocks!"
...
Incredible Hulk rocks!
Green Lantern rocks!
Human Torch rocks!
Captain America rocks!
>>>
In this case, I've first initialized a list containing four elements. Next,
I've used a "for" loop to iterate through the list; on each successive
iteration, one element of the list is assigned to the temporary variable
"myhero" and then printed to the console via a print() call. Once all the
elements of the list have been processed, the loop is automatically
terminated.
You can use a "for" loop with any "sequence object" - this next example
does something similar with a string.
>>> str = "abracadabra"
>>> for char in str:
... print char, "_",
...
a _ b _ r _ a _ c _ a _ d _ a _ b _ r _ a _
>>>