比较词典以获得足够接近的匹配

swo*_*wot 4 python dictionary numpy python-2.7

我正在寻找一种比较两个包含矩阵信息的字典的好方法.所以我的词典结构如下,两个词典都有相同的键:

dict_1 = {("a","a"):0.01, ("a","b"): 0.02, ("a","c"): 0.00015, ...
dict_2 = {("a","a"):0.01, ("a","b"): 0.018, ("a","c"): 0.00014, ...
Run Code Online (Sandbox Code Playgroud)

如果我必须使用矩阵,即列表列表,我可以使用numpy.allclose.字典是否有类似的东西,或者有一种很好的方式将我的字典转换成这样的矩阵?

谢谢你的帮助.

Han*_*rén 5

我能想到的最简单的方法:

keylist = dict_1.keys()
array_1 = numpy.array([dict_1[key] for key in keylist])
array_2 = numpy.array([dict_2[key] for key in keylist])

if numpy.allclose(array_1, array_2):
    print('Equal')
else:
    print('Not equal')
Run Code Online (Sandbox Code Playgroud)