擅长:python、mysql、java
<p>可以使用集合:</p>
<pre><code>from itertools import product
pairs = set()
for (ak, av), (bk, bv) in product(a.items(), b.items()):
if not set(av).intersection(set(bv)):
pairs.add("%s+%s" % tuple(sorted([ak, bk])))
print pairs
</code></pre>
<p>产生:</em></p>
<pre><code>set(['bird+cat', 'cat+fish', 'cat+cat', 'cat+dog', 'dog+raccoon'])
</code></pre>
<p>如果您首先使用集合而不是列表,那么这会更有效。你知道吗</p>