Next consider the invert_dict function from Section 11.5 of your textbook.
# From Section 11.5 of:
# Downey, A. (2015). Think Python: How to think like a computer scientist. Needham, Massachusetts: Green Tree Press.
def invert_dict(d):
inverse = dict()
for key in d:
val = d[key]
if val not in inverse:
inverse[val] = [key]
else:
inverse[val].append(key)
return inverse
Modify this function so that it can invert your dictionary. In particular, the function will need to turn each of the list items into separate keys in the inverted dictionary.
Run your modified invert_dict function on your dictionary. Print the original dictionary and the inverted one.
Include your Python program and the output in your Learning Journal submission.
Describe what is useful about your dictionary. Then describe whether the inverted dictionary is useful or meaningful, and why.
def invert_dict(d):
inverse = dict()
for key in d:
val = d[key]
for i in val:
if i not in inverse:
inverse[i] = [key]
else:
inverse[i].append(key)
return inverse
orders = dict() #restauant orders key - table
orders[1] = ["salad","tea"]
orders[7] = ["soup","cofee"]
orders[3] = ["cofee"]
dishes = invert_dict(orders)
print(orders)
# the use of the dictionary is to know what dishes are ordered for a particular table
print(dishes)
# the inversed dictionary is useful to know the amount of servings per dish and
# what tables they are for
Comments
Leave a comment