擅长:python、mysql、java
<p>试试这个,它将在Python2.x中工作:</p>
<pre><code>{ k:a.get(k, '') + '\t' + b.get(k, '') for k in set(a.keys() + b.keys()) }
=> {'color': 'red\tyellow', 'car': 'ferrari\tlamborghini',
'driver': 'M\t', 'transmission': '\tmanual'}
</code></pre>
<p>如果要使用迭代器,请在Python2.x中执行以下操作:</p>
<pre><code>import itertools as it
{k:a.get(k,'')+'\t'+b.get(k,'') for k in set(it.chain(a.iterkeys(),b.iterkeys()))}
</code></pre>
<p>等价地,在Python3.x中执行此操作:</p>
<pre><code>{ k:a.get(k,'') + '\t' + b.get(k,'') for k in set(it.chain(a.keys(), b.keys())) }
</code></pre>