Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较Python中两个字典的值,并返回差值大于2的值的键_Python - Fatal编程技术网

比较Python中两个字典的值,并返回差值大于2的值的键

比较Python中两个字典的值,并返回差值大于2的值的键,python,Python,所以,我有两个二进制字典文件,我需要比较它们之间的值。 键具有相同的名称,但值不同。 我设法读取它们并将值转换为整数,但现在我想将第一个字典中的值与第二个字典中的值进行比较,并且只打印或返回值之间有min 2差异的键 我尝试使用这段代码,但我只得到值不同的键,但我不想要差值小于2的键 for key in primary: if (key in secondary and primary[key] != secondary[key]): fault

所以,我有两个二进制字典文件,我需要比较它们之间的值。 键具有相同的名称,但值不同。 我设法读取它们并将值转换为整数,但现在我想将第一个字典中的值与第二个字典中的值进行比较,并且只打印或返回值之间有min 2差异的键

我尝试使用这段代码,但我只得到值不同的键,但我不想要差值小于2的键

    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)