擅长:python、mysql、java
<p>这是另一种方法,使用集合交点,以及保持父/子关系的中间映射。你知道吗</p>
<pre><code>from collections import defaultdict
d = defaultdict(list)
keys = set([*mydict])
for k, v in mydict.items():
intersected = keys & set(v)
for i in intersected:
d[i].append(k)
print(d)
# defaultdict(list, {'c': ['b', 'a']})
for found, value in d.items():
mydict[found].extend(value)
print(mydict)
# {'a': ['z', 'c'], 'b': ['y', 'c'], 'c': ['q', 'r', 'b', 'a']}
</code></pre>