繁体   English   中英

Python如何在嵌套字典中匹配两个字典的值?

[英]Python how to match two dictionaries' values in nested dictionaries?

所以我偶然发现了另一个我似乎无法解决的问题。

我有这本字典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') 

对此类问题有什么建议或解释吗? 谢谢你。

for i in students_fruit_count:
    if students_fruit_count[i] == fruit_count:
        print(i)

或者使用更 Pythonic 的方法

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

这将返回一个包含所有学生姓名的列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM