# 11.3. Dictionary operations¶

The del statement removes a key-value pair from a dictionary. For example, the following dictionary contains the names of various fruits and the number of each fruit in stock. If someone buys all of the pears, we can remove the entry from the dictionary.

CodeLens: (clens10_2_1)

Dictionaries are mutable, as the delete operation above indicates. As we’ve seen before with lists, this means that the dictionary can be modified by referencing an association on the left hand side of the assignment statement. In the previous example, instead of deleting the entry for pears, we could have set the inventory to 0.

CodeLens: (clens10_2_2)

Note

Setting the value associated with pears to 0 has a different effect than removing the key-value pair entirely with del. Try printout out the two dictionaries in the examples above.

Similarily, a new shipment of 200 bananas arriving could be handled like this. Notice that there are now 512 bananas— the dictionary has been modified. Note also that the len function also works on dictionaries. It returns the number of key-value pairs.

CodeLens: (clens10_2_3)

Notice that there are now 512 bananas—the dictionary has been modified. Note also that the len function also works on dictionaries. It returns the number of key-value pairs.

What is printed by the following statements?

mydict = {"cat":12, "dog":6, "elephant":23}
mydict["mouse"] = mydict["cat"] + mydict["dog"]
print(mydict["mouse"])

• 12
• 12 is associated with the key cat.
• 0
• The key mouse will be associated with the sum of the two values.
• 18
• Yes, add the value for cat and the value for dog (12 + 6) and create a new entry for mouse.
• Error, there is no entry with mouse as the key.
• Since the new key is introduced on the left hand side of the assignment statement, a new key-value pair is added to the dictionary.

2. Update the value for “Phelps” in the dictionary swimmers to include his medals from the Rio Olympics by adding 5 to the current value (Phelps will now have 28 total medals). Do not rewrite the dictionary.