我有兩個詞典,第一個是展示一些作品:
d= {"a": "pompier", "b": "policier", "c": "tracteur"}
第二個是與串列型別的作品相關的形容詞
d1 = {"a": "[gentil, fort]", "b": "[juste, amicale]", "c": "[fonctionnel, fort, utile]"}
我想將 d1 字典中的值附加到 d 字典中以獲得如下所示的內容
d2 = {"a": "pompier", "[gentil, fort]", "b": "policier", "[juste, amicale]", "c": "tracteur", "[fonctionnel, fort, utile]"}
我需要精確,我不知道(在我的原始檔案中)是否有來自 d1 的密鑰不在 d 字典中......
我試過這段代碼,但它回傳一個錯誤
or key, value in d.items():
for key1, value1 in d1.items():
if key in d1:
d1[key].append[value1]
print(d1)
Traceback (most recent call last):
File "<string>", line 7, in <module>
AttributeError: 'str' object has no attribute 'append'
先感謝您
uj5u.com熱心網友回復:
d= {"a": "pompier", "b": "policier", "c": "tracteur"}
d1 = {"a": "[gentil, fort]", "b": "[juste, amicale]", "c": "[fonctionnel, fort, utile]"}
d2 = dict()
for key, value in d.items():
if d1.get(key):
d2[key] = [value, d1.get(key)]
else:
d2[key] = value
print(d2)
首先,您需要定義 d2。其次,你有字串,而不是串列,所以你不能使用追加。相反,您必須將它們添加到串列中。在這里,如果 d1 中不存在某個鍵,它將僅保留一個值,如果存在,它會將它們添加到串列中。
您在這里有 2 個選擇。如果您希望值始終在串列中,只需輸入d2[key] = [value]
如果 d1 中的鍵在 d 中不存在,則應該進行另一個回圈d1.items()并僅添加缺少的鍵:
for key, value in d1.items():
if key not in d.keys():
d2[key] = value
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/339625.html
上一篇:比較和過濾來自多個陣列的資料
