Python has a for loop which is allows us to step through each element in an iterable (generally anything that defines __iter__ or __getitem__ such as files, lists, tuples, etc.).
First let’s go through an example of a for loop
for i in range(10): print(str(i))
When run, this code produces the following output
0 1 2 3 4 5 6 7 8 9
Let’s discuss how this works. Our loop begins with the keyword
for followed by a variable or variables. After the variable, we have the
in keyword followed by an iterable. The loop continues until there are no more items in the iterable.
In our example, the iterable is the
range function. So when we have
range(10) we are making a sequence of ten numbers 0-9. Everytime
range produces a number, it gets assigned to the variable
i. We then use
print(str(i)) to print the value of
i to the console.
Here is another demonstration of the for loop, this time using a list
names = ['Bob', 'Tina', 'Gene', 'Linda'] for name in names: print(name)
Lists implement the correct protocals that allow them to be used in
for loops. In this case, we populate a list with some names. Everytime the loop executes, the name variable is updated with the next name in the list. We then print the name to the console.
for loop let’s us have more than one variable in the loop.
names = [['Bob', 'Belcher'], ['Tina', 'Belcher'], ['Gene', 'Belcher'], ['Linda', 'Belcher']] for fname, lname in names: print(fname, ' ', lname)
Keep in mind that when you do this, your update variables need to match the number of variables in your sequence. So if we had three variables here, we would get an exception.