[英]python merge list of 1 key and many values dictionaries with the values of a list
我有一本字典,有一個鍵,每個鍵有很多值
d={'POU': ['KO', '0.9.8', '0.99', '0.54']
'TAN': ['LA', '9', '7.5', '0.0']
'EST': ['RA', '2', '6.5', '10.01']}
以及數字列表:
x = [**1**, **2**, **3**]
如何將列表與字典合並,以將每個列表的值附加在每行的末尾:
d={'POU': ['KO', '0.9.8', '0.99', '0.54', **1**]
'TAN': ['LA', '9', '7.5', '0.0', **2**]
'EST': ['RA', '2', '6.5', '10.01', **3**]}
以相同的順序。
正如jpp在其評論中正確提到的那樣,以下解決方案僅適用於OrderedDicts或更高版本的python 3.7,否則正常的命令將不保留順序:
for i, v in enumerate(d):
d[v].append(x[i])
d
Out[1]:
{'EST': ['RA', '2', '6.5', '10.01', '**3**'],
'POU': ['KO', '0.9.8', '0.99', '0.54', '**1**'],
'TAN': ['LA', '9', '7.5', '0.0', '**2**']}
使用簡單的迭代。
例如:
d={'POU': ['KO', '0.9.8', '0.99', '0.54'],
'TAN': ['LA', '9', '7.5', '0.0'],
'EST': ['RA', '2', '6.5', '10.01']}
x = [1,2, 3]
c = 0
for k,v in d.items():
v.append(x[c])
c+=1
print(d)
輸出:
{'TAN': ['LA', '9', '7.5', '0.0', 1], 'POU': ['KO', '0.9.8', '0.99', '0.54', 2], 'EST': ['RA', '2', '6.5', '10.01', 3]}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.