Pre-Tutorial Exercises

If you've arrived early for the tutorial, please feel free to attempt the following exercises to warm-up.


In [ ]:
# 1. Basic Python data structures
# I have a list of dictionaries as such:

names = [{'name': 'Eric',
          'surname': 'Ma'},
         {'name': 'Jeffrey',
          'surname': 'Elmer'},
         {'name': 'Mike',
          'surname': 'Lee'},
         {'name': 'Jennifer',
          'surname': 'Elmer'}]

# Write a function that takes in a list of dictionaries and a query surname, 
# and searches it for all individuals with a given surname.

def find_persons_with_surname(persons, query_surname):
    # Assert that the persons parameter is a list. 
    # This is a good defensive programming practice.
    assert isinstance(persons, list)   
    
    results = []
    for ______ in ______:
        if ___________ == __________:
            results.append(________)
    
    return results

In [ ]:
# Test your result below.
results = find_persons_with_surname(names, 'Lee')
assert len(results) == 1

results = find_persons_with_surname(names, 'Elmer')
assert len(results) == 2

In [ ]: