Python判断两个变量是否相等,字典list不相等指出哪里不相等

xiaoxiao2025-05-02  9

def isEqual(para1, para2): returnInfo = {"result": True, "info": ""} if isinstance(para1, dict) and isinstance(para2, dict): len1 = len(para1.keys()) len2 = len(para2.keys()) if len1 != len2: returnInfo["result"] = False returnInfo["info"] = "'s len1 = " + str(len1) + ", " + "len2 = " + str(len2) return returnInfo for key in para1: if key not in para2: returnInfo["result"] = False returnInfo["info"] = "['" + key +"']"+ " not found in para2" + str(para2.keys()) return returnInfo else: value1 = para1[key] value2 = para2[key] returnInfoSub = isEqual(value1, value2) returnInfo["result"] = returnInfo["result"] and returnInfoSub["result"] if returnInfoSub["result"] == False: returnInfo["info"] = "['" + key + "']" + returnInfoSub["info"] return returnInfo elif isinstance(para1, list) and isinstance(para2, list): len1 = len(para1) len2 = len(para2) if len1 != len2: returnInfo["result"] = False returnInfo["info"] = "'s len1 = "+ str(len1) + ", " + "len2 = " + str(len2) return returnInfo for i in range(len1): value1 = para1[i] value2 = para2[i] returnInfoSub = isEqual(value1, value2) returnInfo["result"] = returnInfo["result"] and returnInfoSub["result"] if returnInfoSub["result"] == False: returnInfo["info"] = "[" + str(i) + "]" + returnInfoSub["info"] return returnInfo else: returnInfo["result"] = (para1 == para2) if returnInfo["result"] == False: returnInfo["info"] = ":" + str(para1) + " not equal " + str(para2) return returnInfo return returnInfo

 

转载请注明原文地址: https://www.6miu.com/read-5029623.html

最新回复(0)