python浮点数比较大小_python-比较两个字典-浮点数

我试图解决此问题的时间,尝试搜索Internet并参考一些书籍,但仍无法找到解决方案.

希望您能提供一些指导.

背景:

具有带有{key:{key:{key:[value]}}}关系的dict_A.该dict_A将经历一个迭代过程,以基于多个约束和一个优化目标来优化其值.仅当最终优化的dict即dict_B2与dict_B1之前的一个周期优化的dict相等时,才会停止优化过程.这给人的印象是该指令将无法进一步优化,这被用来打破迭代周期.

题:

由于dicts值包含浮点数,因此某些存储的值会更改,这可能是因为字典以二进制格式存储了值.请参考以下示例,字典中第一个float值的变化.

dict_B1 = {0: {36: {3: [-1], 12: [0.074506333542951425]}}, 1: {36: {2: [-1], 16: [0.048116666666666676], 17: [-1]}}, 2: {}, 3: {36: {5: [-1], 6: [-1], 15: [0.061150932060349471]}}}

dict_B2 = {0: {36: {3: [-1], 12: [0.074506333542951439]}}, 1: {36: {2: [-1], 16: [0.048116666666666676], 17: [-1]}}, 2: {}, 3: {36: {5: [-1], 6: [-1], 15: [0.061150932060349471]}}}

如果我使用以下内容,则交互过程将进入无限循环且不会中断,

if (dict_B1==dict_B2):

Exit

要么,

if (cmp(dict_B1,dict_B2)):

Exit

还有什么其他方法可以比较字典,例如,从18个浮点精度值中与15个浮点精度进行比

你可能感兴趣的:(python浮点数比较大小)