Answer to Question #198084 in Python for Phenomenal

Question #198084

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 



1
Expert's answer
2021-05-24T14:01:33-0400
# The modified code can work when the value of the dictionary is a list
def invert_dict(d):
    inverse = dict()
    for key in d:
        val = d[key]
        for elem in val:
            if elem not in inverse:
                inverse[elem] = [key]
            elif key not in inverse[elem]:
                inverse[elem].append(key)
    return inverse 


# Dictionary of students and subjects they study
students ={}
students['Boo']=['Algebra','Analytic Geometry','Calculus','Combinatorics']
students['Coo']=['Algebra','Analytic Geometry','Calculus','Combinatorics']
students['Foo']=['Linear Algebra','Analytic Geometry','Discrete Mathematics',
                 'Combinatorics']
# Dictionary of subjects and students who are enrolled in them
subjects = invert_dict(students)
# example output 
for item in subjects.items():
    print(item)
    

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

Assignment Expert
28.05.21, 12:39

Dear Phenomenal,

You're welcome. We are glad to be helpful. 

If you liked our service please press like-button beside answer field. Thank you!



Phenomenal
28.05.21, 11:51

Your platform is a great one I enjoy always

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS