比较Python中两个字典的值,并返回差值大于2的值的键
所以,我有两个二进制字典文件,我需要比较它们之间的值。 键具有相同的名称,但值不同。 我设法读取它们并将值转换为整数,但现在我想将第一个字典中的值与第二个字典中的值进行比较,并且只打印或返回值之间有min 2差异的键 我尝试使用这段代码,但我只得到值不同的键,但我不想要差值小于2的键比较Python中两个字典的值,并返回差值大于2的值的键,python,Python,所以,我有两个二进制字典文件,我需要比较它们之间的值。 键具有相同的名称,但值不同。 我设法读取它们并将值转换为整数,但现在我想将第一个字典中的值与第二个字典中的值进行比较,并且只打印或返回值之间有min 2差异的键 我尝试使用这段代码,但我只得到值不同的键,但我不想要差值小于2的键 for key in primary: if (key in secondary and primary[key] != secondary[key]): fault
for key in primary:
if (key in secondary and primary[key] != secondary[key]):
faulty_sensors_values[key] = primary[key]
print(faulty_sensors_values)```
试着这样做:
a = {'a': 2, 'b': 4, 'c': 8}
b = {'a': 1, 'b': 1, 'c': 3}
for x,y in zip(a,b):
if ((a[x]-b[y])>2):
print(x)
将打印:
b
c
请为这两个字典添加示例数据如果
(a[x]-b[y])>2
,那么(a[x]!=b[y])
不是隐含的吗?我尝试了您的代码,它可以工作,但我也需要返回,即使次字典中的值比主字典中的值高2。我遍历secondary并使用if,但是用secondary更改了primary,我只从第一个字典中得到第一个值已更改的键,从第二个字典中得到第一个值已更改的键。我需要它给我两本字典中的所有键,它们之间的差异大于2。谢谢如果一级或二级中的任何一个可以更大,则使用abs(主[键]-次[键]>=2。
for key in primary:
if (key in secondary and abs(primary[key]-secondary[key]) >= 2):
faulty_sensors_values[key] = primary[key]
print(faulty_sensors_values)