擅长:python、mysql、java
<p>下面是使用列表理解和<code>itertools.prodcut</code>的一种方法:</p>
<pre><code>In [41]: from itertools import product
In [42]: [d1 for d1, d2 in product(dict_listA, dict_listB) if d2['id'] == d1['id'] and d2['b'] != d1['b']]
Out[42]: [{'id': 1, 'b': 2}]
</code></pre>
<p>但是请注意,如果在<code>dict_listB</code>中有多个匹配项,那么这将生成重复的结果。如果你不想保留所有的副本,你可以用集合理解代替。你知道吗</p>