Python как сопоставить значения двух словарей во вложенных словарях? - PullRequest
0 голосов
/ 20 января 2020

Так что я наткнулся на другую проблему, которую, похоже, не могу решить.

У меня есть этот словарь fruit_count = {'apple': 5, 'banana': 7, 'orange': 4, 'melon': 9} и

и вложенный словарь

students_fruit_count = { 'Brandon':  {'apple': 2, 'banana': 7, 'orange': 3, 'melon': 8},
'Joan':  {'apple': 11, 'banana': 8, 'orange': 3, 'melon': 6}, 
'Tanya':  {'apple': 5, 'banana': 7, 'orange': 4, 'melon': 9}}

Теперь я пытаюсь создать код, который печатает имя студента, которое имеет точно такое же количество плодов, как и значения словаря fruit_count.

Так что в приведенной выше задаче код должен распечатать Tanya.

Вот мой код (который, очевидно, не работает) :

for key in fruit_dict:
    for key2 in students_fruit_count:
        if key[i] == key2[j]:
            print('key2') 

Любой совет или объяснение такой проблемы? Спасибо.

1 Ответ

1 голос
/ 20 января 2020
for i in students_fruit_count:
    if students_fruit_count[i] == fruit_count:
        print(i)

Или для более Pythoni c подхода

result = [i for i in students_fruit_count if students_fruit_count[i]==fruit_count]

Это вернет список, содержащий все имена учеников.

...