擅长:python、mysql、java
<p>在构建dict时,使用<code>collections.defaultdict</code>可以节省大量的时间,而且事先不知道您将拥有哪些密钥。</p>
<p>这里它被使用了两次:用于生成的dict,以及dict中的每个值</p>
<pre><code>import collections
def aggregate_names(errors):
result = collections.defaultdict(lambda: collections.defaultdict(list))
for real_name, false_name, location in errors:
result[real_name][false_name].append(location)
return result
</code></pre>
<p>将此与代码结合起来:</p>
<pre><code>dictionary = aggregate_names(previousFunction(string))
</code></pre>
<p>或测试:</p>
<pre><code>EXAMPLES = [
('Fred', 'Frad', 123),
('Jim', 'Jam', 100),
('Fred', 'Frod', 200),
('Fred', 'Frad', 300)]
print aggregate_names(EXAMPLES)
</code></pre>