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
,它将与咖啡
的内容相等。