Activity 2-5

Adapted from Brown University CSCI0931. Used with Permission.

Task 1: Practice Evaluating Python Dictionaries

Download and save ACT2-5.py. Open it in IDLE and press F5. Three variables are already defined: origString, freqDict, and phoneDict.

Evaluate the Dictionaries

  1. Evaluate (print out) freqDict.
    • What type are the keys?
    • What type are the values?
  2. Evaluate phoneDict.
    • What type are the keys?
    • What type are the values?

Evaluate Individual Keys

  1. The syntax for evaluating the key 'a' in the freqDict dictionary is freqDict['a']. Try this.
  2. Evaluate the keys 'hat' and 'the' in the freqDict dictionary.
  3. Evaluate the keys 'CY' and 'PolyU' in the phoneDict dictionary. Be careful! Capital (uppercase) and small letters (lowercase) matter!

Test if a Key is in a Dictionary

  1. Use the key in dict syntax to determine if the string 'mat' is a key in freqDict.
  2. Use the in syntax to determine if the string 'Alice' is in phoneDict.

Get Lists of Keys and Values

  1. Use the keys() function to get a list of keys for freqDict and then for phoneDict.
  2. Use the values() function to get a list of keys for freqDict and then for phoneDict.
  3. Suppose we want to print the keys and values in a dictionary. Which is more useful: the keys() function, or than the values() function?

Task 2: Manipulating Dictionaries

Adding, Removing, and Updating Key-Value Pairs

  1. Add the key 'mat' with the value 0 to freqDict. Verify your change by evaluating freqDict.
  2. Remove the key 'cat' from freqDict. Verify your change by evaluating freqDict.
  3. Put the key 'COMP' with the value '2766-7319' in phoneDict. What happened to the dictionary? What does this mean about keys? (i.e. How many values can a key have at any one time?)

Dictionaries vs. Lists

  1. Inspect the printDict() function. How does it print the key-value pairs for a dictionary? Run printDict() on freqDict and then phoneDict.
  2. Now inspect the printList() function. Since this function takes a list, use the split() function to split origString on whitespace. Pass this list to the printList() function. What differences and similarities do you notice when you compare the output of printDict() and printList()?

Task 3: Computing a Dictionary of Word Frequencies

  1. Run the wordFreq() function. Think about how to modify this function to return a dictionary of word frequencies. Then write the function.