Create a Python dictionary that returns a list of values for each key. The key can be whatever type you want.
Design the dictionary so that it could be useful for something meaningful to you. Create at least three different items in it. Invent the dictionary yourself. Do not copy the design or items from some other source.
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
my_dict = {
"Great Britain": ["Bristol",'Cambridge',"Canterbury"],
"France": ["Paris",'Marseille',"Lyon"],
"USA": ["New York",'California',"Illinois"],
}
def invert(d):
inverse = dict()
for key in d:
val = d[key]
for item in val:
if item not in inverse:
inverse[item] = [key]
else:
inverse[item].append(key)
return inverse
print('Initial dictionary \n')
print(my_dict, '\n')
in_dict = invert(my_dict)
print("Inverted dictionary \n")
print(in_dict)
Comments
Leave a comment