簡體   English   中英

python合並1個鍵的鍵列表以及具有列表值的許多值字典

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM