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
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 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
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) - milk >>> print('- ' + grocery_list) - apples >>> print('- ' + grocery_list) - orange juice >>> print('- ' + grocery_list) - 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
>>> 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