擅长:python、mysql、java
<p>你可以试试这样的方法:</p>
<pre><code>In [61]: main_dict
Out[61]:
{'A': {'key1': 'valueA1', 'key2': 'valueA2'},
'B': {'key2': 'valueB2', 'key3': 'valueB3'},
'C': {'key1': 'valueC1', 'key3': 'valueC3'}}
In [62]: keys=set(chain(*[x for x in main_dict.values()]))
In [64]: keys
Out[64]: set(['key3', 'key2', 'key1'])
In [63]: {x:[[y,main_dict[y][x]] for y in main_dict if x in main_dict[y]] for x in keys}
Out[63]:
{'key1': [['A', 'valueA1'], ['C', 'valueC1']],
'key2': [['A', 'valueA2'], ['B', 'valueB2']],
'key3': [['C', 'valueC3'], ['B', 'valueB3']]}
</code></pre>
<p>使用<code>dict.setdefault</code>更具可读性的解决方案:</p>
^{pr2}$