回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有以下内容:字典列表和一个字典,其中键是字典列表中键“userid”的值。我想额外获取dictionary中的数据,并根据userid是否匹配将其添加到每个dictionary中。下面是我的示例数据和我尝试过的内容</p>
<pre><code>data = [{'date':'2021-01-01',
'userid': 'ABC123',
'name': 'John Smith',
'age': 15},
{'date':'2021-01-10',
'userid': 'DEF123',
'name': 'Jane Doe',
'age': 19}]
extra = {'ABC123' : {"favorite sport": "basketball",
"favorite color": "red"},
'DEF123': {"favorite sport": "soccer",
"favorite color": "yellow"}}
def combine(data, extra):
data_new = data.copy()
extra_new = extra.copy()
ids = list(extra_new.keys())
output = []
for value in data_new:
value.update(extra_new)
output.append(value)
return output
</code></pre>
<p>上述结果</p>
<pre><code>output = [{'date':'2021-01-01',
'userid': 'ABC123',
'name': 'John Smith',
'age': 15,
'ABC123' : {"favorite sport": "basketball",
"favorite color": "red"},
'DEF123': {"favorite sport": "soccer",
"favorite color": "yellow"}}
{'date':'2021-01-10',
'userid': 'DEF123',
'name': 'Jane Doe',
'age': 19,
'ABC123' : {"favorite sport": "basketball",
"favorite color": "red"},
'DEF123': {"favorite sport": "soccer",
"favorite color": "yellow"}}]
</code></pre>
<p>我想要的是:</p>
<pre><code>output = [{'date':'2021-01-01',
'userid': 'ABC123',
'name': 'John Smith',
'age': 15,
"favorite sport": "basketball",
"favorite color": "red"}
{'date':'2021-01-10',
'userid': 'DEF123',
'name': 'Jane Doe',
'age': 19,
"favorite sport": "soccer",
"favorite color": "yellow"}]
</code></pre>