Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 如何排除“;类型“U变更”;完全从深度差异,因为我只关心价值的变化?_Python_Python 3.x_Dictionary_Deep Diff - Fatal编程技术网

Python 如何排除“;类型“U变更”;完全从深度差异,因为我只关心价值的变化?

Python 如何排除“;类型“U变更”;完全从深度差异,因为我只关心价值的变化?,python,python-3.x,dictionary,deep-diff,Python,Python 3.x,Dictionary,Deep Diff,输出: from deepdiff import DeepDiff t1 = {1:1, 2:2, 3:3} t2 = {1:1, 2:"2", 3:3} print(DeepDiff(t1, t2), indent=2) {'type_changes':{'root[2]:{'new_type':, “新值”:“2”, “旧类型”:, “旧值”:2 }}} 我只希望输出中的值更改,不包括“类型更改”。 我必须比较嵌套字典,我不关心类型。来自DeepDiff的文档: 忽略组中的类型- 忽

输出:

from deepdiff import DeepDiff


t1 = {1:1, 2:2, 3:3}
t2 = {1:1, 2:"2", 3:3}
print(DeepDiff(t1, t2), indent=2)
{'type_changes':{'root[2]:{'new_type':,
“新值”:“2”,
“旧类型”:,
“旧值”:2
}}}
我只希望输出中的值更改,不包括“类型更改”。
我必须比较嵌套字典,我不关心类型。

来自DeepDiff的文档:

忽略组中的类型-

忽略类型组成员之间的类型更改。例如,如果 您想忽略浮点和小数等之间的类型更改。注意 这是一个更细粒度的特性

因此,在您的例子中,当旧的_类型是整数而新的_类型是字符串时-

{ 'type_changes': { 'root[2]': { 'new_type': <class 'str'>,
                                 'new_value': '2',
                                 'old_type': <class 'int'>,
                                  'old_value': 2
}}}
输出将是-

print(DeepDiff(t1, t2), indent=2, ignore_type_in_groups=[(int, str)])
另一个可用选项是将DeepDiff对象转换为Dictionary/JSON,并根据需要对其进行控制

{}

来自DeepDiff的文件:

忽略组中的类型-

忽略类型组成员之间的类型更改。例如,如果 您想忽略浮点和小数等之间的类型更改。注意 这是一个更细粒度的特性

因此,在您的例子中,当旧的_类型是整数而新的_类型是字符串时-

{ 'type_changes': { 'root[2]': { 'new_type': <class 'str'>,
                                 'new_value': '2',
                                 'old_type': <class 'int'>,
                                  'old_value': 2
}}}
输出将是-

print(DeepDiff(t1, t2), indent=2, ignore_type_in_groups=[(int, str)])
另一个可用选项是将DeepDiff对象转换为Dictionary/JSON,并根据需要对其进行控制

{}