Python比较两个键/值对

Python比较两个键/值对,python,list,key-value,Python,List,Key Value,我有两组键值对,如下所示: tom = {'coffee': 2, 'hotdog': 1} namcat = {'hotdog stand':[hotdog, foodstand], 'cafe':[breakfast, coffee]} 还有一个是这样的: tom = {'coffee': 2, 'hotdog': 1} namcat = {'hotdog stand':[hotdog, foodstand], 'cafe':[breakfast, coffee]} 每当与“tom”

我有两组键值对,如下所示:

tom = {'coffee': 2, 'hotdog': 1}
namcat = {'hotdog stand':[hotdog, foodstand], 'cafe':[breakfast, coffee]}
还有一个是这样的:

tom = {'coffee': 2, 'hotdog': 1}
namcat = {'hotdog stand':[hotdog, foodstand], 'cafe':[breakfast, coffee]}
每当与“tom”相关联的键与“namcat”中的值相同时,我想进行比较,如果是,则将1添加到运行总数中。我认为它通过列表对键值对进行迭代,这给我带来了问题

for k, v in namcat.items():
    for item in v:
        for key, value in tom.items():
            if value == item:
                running_total += 1
演示:


这应该可以做到。希望有帮助

你能不能把代码的例子,你得到的错误。真的很难理解你的目的。使用'if value==item'我得到0,但是'if key==item'对我来说很有效,并且在逻辑上对我有意义,你能解释原因吗?你确定吗?这不应该发生。正确的方法是将
进行比较。因为
“coffee”
,而项是
coffee
的内容,它是
1
。但是
包含
1
,它将与
咖啡
的内容相等。