我想在另一個字典中使用鍵值對更新字典鍵。兩個庫,我想結合都嵌套到列表:如何根據指定給另一個字典中相同密鑰的值更改字典密鑰?
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但是如果在dictionary1字典的關鍵是在dictionary2的詞典的按鍵,他們應該改變。
所得詞典:
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基於長度迭代dictionary2。所以我想用一個有841個字典(字典1)和一個字典列表53(字典2)的列表來運行它,它只會在字典1退出前轉換字典1中的前53個鍵。