Last time we learned about lists and how to manipulate the list itself. This time we’ll learn how to do things to items in the list with the for
statement.
If this is your first time here, I recommend looking at the first lesson. Starting there and going through the rest of the lessons will prepare you to go through this more advanced lesson!
First, let’s make a list we can do things to.
>>> grocery_list = ['milk', 'apples', 'orange juice', 'paper towels', 'bbq sauce', 'eggs']
>>> print(grocery_list)
['milk', 'apples', 'orange juice', 'paper towels', 'bbq sauce', 'eggs']
Trying to do your shopping with the items listed like that would be quite difficult. Let’s try printing them in a better format using the for
statement!
>>> for grocery_item in grocery_list:
... print('- ' + grocery_item)
...
- milk
- apples
- orange juice
- paper towels
- bbq sauce
- eggs
Pretty simple, yeah? When reading the lines above, we say “For each grocery_item
in grocery_list
, do some stuff
(in this case, print the item). The word after for
is the variable used for each item in the list, one after another. Using the for
statement saves you from writing a lot of extra code, and handles lists of different sizes:
>>> print('- ' + grocery_list[0])
- milk
>>> print('- ' + grocery_list[1])
- apples
>>> print('- ' + grocery_list[2])
- orange juice
>>> print('- ' + grocery_list[3])
- paper towels
>>> # and so on...
We can make something more interesting too. Let’s say we have a bank account and a list of transactions.
>>> account_balance = 1000
>>> transactions = [-3, -149, -3, -3, -12, -3, -699, -3]
Now we can report each transaction and subtract it from our account balance using a for
statement:
>>> account_balance = 1000
>>> for transaction in transactions:
... print("Transaction processed: " + str(transaction))
... account_balance = account_balance + transaction
... print("Remaining Balance: " + str(account_balance))
...
Transaction processed: -3
Remaining Balance: 997
Transaction processed: -149
Remaining Balance: 848
Transaction processed: -3
Remaining Balance: 845
Transaction processed: -3
Remaining Balance: 842
Transaction processed: -12
Remaining Balance: 830
Transaction processed: -3
Remaining Balance: 827
Transaction processed: -699
Remaining Balance: 128
Transaction processed: -3
Remaining Balance: 125