Python 如何从两个值不同的dict中找到公共键

Python 如何从两个值不同的dict中找到公共键,python,dictionary,Python,Dictionary,我正在尝试获取两个字典中值不同的键 e、 g: 所以区别是['b',],因为这个键是唯一的区别 我尝试使用set(dictA.items()).symmetric_difference(dictB.items()),但这也返回了键:value{'c':3}迭代公共键,并在dictA和dictB中删除具有匹配值的键: In [3]: {key for key in dictA.keys() & dictB if dictA[key] != dictB[key]} Out[3]: {'b'}

我正在尝试获取两个字典中值不同的键 e、 g:

所以区别是['b',],因为这个键是唯一的区别


我尝试使用
set(dictA.items()).symmetric_difference(dictB.items())
,但这也返回了键:value{'c':3}

迭代公共键,并在
dictA
dictB
中删除具有匹配值的键:

In [3]: {key for key in dictA.keys() & dictB if dictA[key] != dictB[key]}
Out[3]: {'b'}

迭代公共键,并在
dictA
dictB
中删除具有匹配值的键:

In [3]: {key for key in dictA.keys() & dictB if dictA[key] != dictB[key]}
Out[3]: {'b'}

你必须在交叉点上迭代

delta = [k for k in (set(dictA) & set(dictB)) if (dictB[k] - dictA[k])]

你必须在交叉点上迭代

delta = [k for k in (set(dictA) & set(dictB)) if (dictB[k] - dictA[k])]

赢了我10秒,很好的回答注:这对Py2来说不值得:
{key for key in dictA.keys()&dictB if dictA[key]!=dictB[key]}
->
类型错误:不支持的操作数类型(&:'list'和'dict'
@TemporalWolf是的,我觉得没有必要在我的回答中支持Python 2 10秒,伟大的答案注:这对Py2来说不值得:
{key for key in dictA.keys()&dictB if dictA[key]!=dictB[key]}
->->
TypeError:list和'dict'的操作数类型不受支持&:'list'和'dict'
@TemporalWolf是的,我认为没有必要在我的答案中支持Python 2,如果字典值不是数字的话是什么?真的。你知道,这是一场比赛=c) 使用
dictB[k]!=改用dictA[k]
。处理所有事情,这对所有人都有好处。如果字典值不是数字呢?是的。你知道,这是一场比赛=c) 使用
dictB[k]!=改用dictA[k]
。处理所有事情,这对所有人都有好处您使用的是什么版本的Python?您使用的是什么版本的Python?