<p>这个更难看</p>
<pre><code>
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
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()
ids = list(extra.keys())
for value in data_new:
indexx=data_new.index(value)
for valuez in value:
if value[valuez] in ids:
z={**data[indexx],**(extra[value[valuez]])}
data_new[indexx]=z
return data_new
pippo = combine(data, extra)
print(pippo)
</code></pre>
<p>回报永不减少</p>
<pre><code>[{'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>
<p>使用字典合并,请参阅:<a href="https://stackoverflow.com/questions/38987/how-do-i-merge-two-dictionaries-in-a-single-expression-in-python-taking-union-o">How do I merge two dictionaries in a single expression in Python (taking union of dictionaries</a></p>
<p>使用</p>
<pre><code>indexx=data_new.index(value)
</code></pre>
<p>因为忘记了len(list)并无法通过索引访问列表;-)</p>