美文网首页
2018-04-28 对比两个字典-递归法

2018-04-28 对比两个字典-递归法

作者: 明燕南飞 | 来源:发表于2018-04-28 15:52 被阅读0次

def cmp_dict(src_data,dst_data):

    assert type(src_data) == type(dst_data),"type: '{}' != '{}'".format(type(src_data), type(dst_data)) 

    if isinstance(src_data,dict): 

        assert len(src_data) == len(dst_data),"dict len: '{}' != '{}'".format(len(src_data), len(dst_data)) 

        for key in src_data:                 

            assert dst_data.has_key(key)     

            cmp_dict(src_data[key],dst_data[key])     

    elif isinstance(src_data,list):                   

        assert len(src_data) == len(dst_data),"list len: '{}' != '{}'".format(len(src_data), len(dst_data))     

        for src_list, dst_list in zip(sorted(src_data), sorted(dst_data)): 

            cmp_dict(src_list, dst_list) 

    else: 

        assert src_data == dst_data,"value '{}' != '{}'".format(src_data, dst_data) 

相关文章

网友评论

      本文标题:2018-04-28 对比两个字典-递归法

      本文链接:https://www.haomeiwen.com/subject/jwbglftx.html