比較辞書:辞書リストの要素を比較し、キーとして、減算

データ形式:
データ型のリスト、インデックス辞書の要素のリスト。辞書組織のリスト。

分析:
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

おすすめ

転載: blog.51cto.com/chier11/2415962