字典對比:字典式元素組成的列表進行對比,如同鍵,值相減

數據格式:
數據類型爲列表,列表的索引元素爲字典。由字典組織的列表。

分析:
1、遍歷字典同鍵,再根據同鍵得出相應的值。
2、值相減形成新的字典,重新定義字典,或跟新現有字典。

##對比CRC值,格式和實例如下:Compare_Dict_List(Old_CRC_Dict,New_CRC_Dict),返回值的形式同樣。
#Old_CRC_Dict = [{'10GE1/0/10':"60"},{'10GE1/0/11':"20"},{'10GE1/0/12':"80"}]
#New_CRC_Dict = [{'10GE1/0/10':"70"},{'10GE1/0/11':"40"},{'10GE1/0/12':"20"}]

腳本內容如下:

def Compare_Dict(Old_CRC_DictList,New_CRC_DictList):
    Temp_List=[]
    for x in range(len(Old_CRC_DictList)):
        #print (Old_CRC_DictList[x])
        for y in range(len(New_CRC_DictList)):
            #print (New_CRC_DictList[y])
            Temp_Dict = {}
            for k1,v1 in New_CRC_DictList[y].items():
                #print (k1)
                #print (Old_CRC_DictList[x][k1])
                if Old_CRC_DictList[x].get(k1):
                    Temp_Dict[k1] = int(v1)-int(Old_CRC_DictList[x][k1])
                    #if int(Old_CRC_DictList[x][k1])-int(v1) < 10:
                    #    print ("True")
                    print (Temp_Dict)
                    Temp_List.append(Temp_Dict)
    print (Temp_List)
    return Temp_List

優化之後的腳本:

def Compare_DictList(Old_CRC_DictList,New_CRC_DictList):
    Temp_List=[]
    for x,y in zip(Old_CRC_DictList,New_CRC_DictList):
        Temp_Dict = {}
        for k1,v1 in y.items():
            if x.get(k1):
                Temp_Dict[k1] = int(v1)-int(x[k1])
                #if int(x[k1])-int(v1) < 10:
                #    print ("True")
                #print (Temp_Dict)
                Temp_List.append(Temp_Dict)
    print (Temp_List)
    return Temp_List
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章