HomepageTeaching PageResearch PageResources Page

Homework: List Deleting, Strings, and References

Read through section 10.8 of the book and do the examples.

Now we have the tools to write a modifier version of only_upper from 10.7:

def remove_non_upper(strings):
    """Removes the elements from a list of strings that aren't in all uppercase characters."""
    i = 0
    #this is a while loop because we don't always increment the index
    while i < len(strings):
        string = strings[i]
        if string.isupper():
            #string is uppercase, move to the next one
            i += 1
        else:
            #string has lowercase characters, delete it!
            del strings[i]
        

Now we can test out the two versions: (You need to have the 10.7's only_upper as well.)

>>> names = ['JARAD', 'Madeline', 'JANET', 'BILL', 'Harold']
>>> uppers = only_upper(names)
>>> uppers
['JARAD', 'JANET', 'BILL']
>>> names
['JARAD', 'Madeline', 'JANET', 'BILL', 'Harold']
>>> remove_non_upper(names)
>>> names
['JARAD', 'JANET', 'BILL']
>>>
        

Now read through section 10.9 of the book and do the examples. What I mostly want you to get from this is that there are neat things you can do to easily change strings to lists and vice-versa.

Read through sections 10.10, 10.11, and 10.12 of the book and do the examples (3 pages in total, sorry).

I also recommend looking at 10.13 to get an idea of some common mistakes with lists and references.