別の辞書のキー値のペアを使用して辞書キーを更新しようとしています。私は結合しようとしている2つの辞書は、両方のリストの中にネストされています:別の辞書の同じキーに指定された値に基づいて辞書キーを変更する方法?
dictionary1 = [{ '32639': {'78549': {'526' : { 'sum': 8930.40, 'min' : 2380, 'max': 74839}}}} , {'89304': {'20384': {'152' : { 'sum': 51235.20, 'min' : 4512, 'max': 362.69}}}}, { '41526': {'45315': {'364' : { 'sum': 8985.65, 'min' : 3632.32, 'max': 4558.15}}}}]
dictionary2 = [{'32639':'90283'}, {'49034': '89203'}, {'28942': '39024'}, {'41526':'24903'} ]
私はdictionary1内の辞書のキーはdictionary2彼らの辞書のキーである場合に結果として辞書はしかし、正確にdictionary1に見えるようにしたいです変更する必要があります。
結果の辞書:私が試みた
new_dictionary = [{ '90283': {'78549': {'526' : { 'sum': 8930.40, 'min' : 2380, 'max': 74839}}}} , {'89304': {'20384': {'152' : { 'sum': 51235.20, 'min' : 4512, 'max': 362.69}}}}, { '24903': {'45315': {'364' : { 'sum': 8985.65, 'min' : 3632.32, 'max': 4558.15}}}}]
:
list1 = []
for d1, d2 in zip(dictionary1, dictionary2):
for key, value in d1.iteritems():
new_dict = {}
if key in d2:
new_dict[d2[key]] = value
list1.append(new_dict)
else:
new_dict[key] = value
list1.append(new_dict)
それはそれはしかし働き、このサンプルデータ、プログラム上の長さに基づいてdictionary1を通じてのみ繰り返し処理を動作していないしかし、辞書2。だから私は841の辞書(辞書1)と53の辞書(辞書2)のリストを持つリストでこれを実行しようとしており、それは終了する前に辞書1の最初の53のキーを変換するだけです。