擅长:python、mysql、java
<p>假设名称是唯一的,您真的希望字典走另一条路(即从名称到角色),因为否则结构就没有意义。如果您这样做,那么您就可以使用<em>一个</em>字典来保存所有数据,而不是每个人都有一个字典列表</p>
<p>这样转换列表非常简单:</p>
<pre><code>D1 = {name: role for record in L1 for (role, name) in record.items()}
D2 = {name: role for record in L2 for (role, name) in record.items()}
</code></pre>
<p>现在,您可以根据键轻松地将它们组合在一起:</p>
<pre><code>for k, v in D2.items():
D1[k] = D1.get(k, '') + v
</code></pre>
<p>这给了你:</p>
<pre><code>D1 = {'Tom Jones': 'D', 'Bob Jones': 'DP', 'Jim Jones': 'DP'}
</code></pre>
<p>我建议只保留字典结构,因为它更易于使用,但如果需要,也可以轻松地将其转换回列表格式:</p>
<pre><code>L3 = [{role: name} for name, role in D1.items()]
</code></pre>