<p>你只需要:</p>
<pre><code># to change already existing dict
players = {players['player_id']:{key:value for key,value in players.items() if key != 'player_id'}}
# make dict from lists a and b
z = {b[a=='player_id']: {key:value for key,value in zip(a,b) if key !='player_id'}}
# group both
players={**players,**z}
</code></pre>
<p>详情如下:</p>
<p>首先,您需要将已经生成的dict更改为所需的输出类型,如下所示:</p>
^{pr2}$
<p>将输出:</p>
<pre><code>{4: {'gyms_visited': [],
'player_name': 'cynthia',
'player_pokemon': {},
'time_played': 30.9}}
</code></pre>
<p>然后你把你的两个列表<code>a</code>和<code>b</code>做一个额外的dict,如下所示:</p>
<pre><code>z = {b[a=='player_id']: {key:value for key,value in zip(a,b) if key !='player_id'}}
print(z)
</code></pre>
<p>将输出:</p>
<pre><code>{2: {'player_name':
'teri', 'time_played': 22.2,
'player_pokemon': {},
'gyms_visited': []}}
</code></pre>
<p>最后,把它们放在同一个词中,如下所示:</p>
<pre><code>players={**players,**z}
print(players)
</code></pre>
<p>输出:</p>
<pre><code>{4: {'gyms_visited': [],
'player_name': 'cynthia',
'player_pokemon': {},
'time_played': 30.9},
2: {'player_name': 'teri',
'time_played': 22.2,
'player_pokemon': {},
'gyms_visited': []}}
</code></pre>
<p>请注意,如果您想添加更多内存,可以在循环中执行此操作。例如,考虑以下新列表:</p>
^{8}$
<p>如前所述:</p>
<pre><code>z = {b[a=='player_id']: {key:value for key,value in zip(a,b) if key !='player_id'}}
players={**players,**z}
</code></pre>
<p>作为输出:</p>
<pre><code>{4: {'gyms_visited': [],
'player_name': 'cynthia',
'player_pokemon': {},
'time_played': 30.9},
2: {'player_name': 'teri',
'time_played': 22.2,
'player_pokemon': {},
'gyms_visited': []},
6: {'player_name': 'new_Name',
'time_played': 66.6,
'player_pokemon': {},
'gyms_visited': []}}
</code></pre>
<p>您可以参考这些关于<a href="https://stackoverflow.com/questions/38987/how-to-merge-two-python-dictionaries-in-a-single-expression">merging dicts</a>和<a href="https://stackoverflow.com/questions/21809112/what-does-tuple-and-dict-means-in-python">**dicts</a>的链接,以便更好地理解。在</p>
<p>这里还有一个用于内置zip方法的<a href="https://docs.python.org/3/library/functions.html#zip" rel="nofollow noreferrer">link</a>。在</p>