我会使用
operator.itemgetter
:
from operator import itemgetter
dict1 = {"version": 222, "name_app": "foo1"}
dict2 = {"version": 222, "name_app": "foo1", "dir": "c", "path": "cc"}
g = itemgetter(*dict1)
print(g(dict1) == g(dict2))
输出:
True
编辑:dict1的所有键都必须匹配:
from operator import itemgetter
dict1 = {"version": 222, "name_app": "foo1"}
dict2 = {"version": 222, "name_app": "foo1", "dir": "c", "path": "cc"}
g = itemgetter(*dict1)
print(dict1.keys() <= dict2.keys() and g(dict1) == g(dict2))
输出:
True
编辑2:如果字典具有列表值:
from operator import itemgetter
dict1 = {"version": 222, "name_app": ["a", "b", "c"]}
dict2 = {"version": 222, "name_app": ["a", "b", "c"], "dir": "c", "path": "cc"}
g = itemgetter(*dict1)
print(dict1.keys() <= dict2.keys() and g(dict1) == g(dict2))
输出:
True