Deleting from a list – deleting, removing, popping, and filtering
There are many times when we want to remove items from a list
collection. We might delete items from a list, and then process the items which are left over.
Removing unneeded items has a similar effect as using the filter()
to create a copy which has only the needed items. The distinction is that a filtered copy will use more memory than deleting items from a list. We'll show both techniques for removing unwanted items from a list.
Getting ready
We have a spreadsheet that is used to record fuel consumption on a large sailboat. It has rows which look like this:
date | engine on | fuel height |
engine off | ||
Other notes | ||
10/25/2013 | 08:24 | 29 |
13:15 | 27 | |
calm seas—anchor solomon's island | ||
10/26/2013 | 09:12 | 27 |
18:25 | 22 | |
choppy—anchor in jackson's creek |
For more background on this data, see the Slicing and dicing a list recipe.
We can read the data like this:
>>> from pathlib import Path
>>> import csv
>>> with Path('code/fuel.csv').open...