擅长:python、mysql、java
<pre><code>>>> def avg(items):
... return sum(items) / len(items)
...
>>> hashes = [a, b]
>>> dict([(k, avg([h.get(k) or 0 for h in hashes])) for k in set(sum((h.keys() for h in hashes), []))])
{'y': 0.25, 'x': 0.59999999999999998, 'z': 0.125, 'w': 0.25}
</code></pre>
<p>说明:</p>
<ol>
<li><p>所有哈希中的键集,没有重复。在</p>
<pre><code>set(sum((h.keys() for h in hashes), []))
</code></pre></li>
<li><p>上面集合中每个键的平均值,如果特定哈希中不存在该值,则使用0。在</p>
<pre><code>(k, avg([h.get(k) or 0 for h in hashes]))
</code></pre></li>
</ol>