我有以下聽寫串列:
[{'key1': 'fixed_value', 'validlink': ['dynamic_value']}, {'key1': 'fixed_value', 'invalidlink': ['dynamic_value']}]
我想以下列方式加入元素(基于鍵 1 匹配):
[{'key1': 'fixed_value', 'validlink': ['dynamic_value'], 'invalidlink': ['dynamic_value']}]
我目前正在使用以下代碼,但它只連接一個鍵:我嘗試添加“validlink”和“invalidlink”,但沒有成功。
out_a.setdefault(v['key1'], []).append(v['validlink'])
new_dict = list(map(lambda x: dict(zip(('key1', 'validlink'), x)), out_a.items()))
uj5u.com熱心網友回復:
您可以使用 dicts 的 dict 來不斷更新具有新專案的相同鍵的 dicts:
merged = {}
for d in lst:
merged.setdefault(d['key1'], {}).update(d)
print(list(merged.values()))
給定您的樣本輸入為lst,這將輸出:
[{'key1': 'fixed_value', 'validlink': ['dynamic_value'], 'invalidlink': ['dynamic_value']}]
演示:https ://replit.com/@blhsing/SentimentalLightgreenSecurity
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/530952.html
