擅长:python、mysql、java
<h2>接近</h2>
<ul>
<li><p>使用<a href="https://docs.python.org/3/library/collections.html#collections.defaultdict" rel="nofollow noreferrer">collections.defaultdict</a>作为按公共字段(在本例中为按状态)分组数据的方法。</p></li>
<li><p>对于每个状态,defaultdict创建一个新的<em>dict</em>,并用<em>词典更新()</em>方法。</p></li>
<li><p>将结果转换回一个列表,其中<code>list</code>应用于字典的项(键/值对)。</p></li>
</ul>
<h2>工作代码</h2>
<pre><code>>>> from pprint import pprint
>>> from collections import defaultdict
>>> d = defaultdict(dict)
>>> for state, info in test_list:
d[state].update(info)
>>> result = list(d.items())
>>> pprint(result)
[('Alabama', {'Baldwin County': 182265, 'Barbour County': 27457}),
('Arkansas',
{'Newton County': 8330, 'Perry County': 10445, 'Phillips County': 21757}),
('California', {'Madera County': 150865, 'Marin County': 252409}),
('Colorado',
{'Adams County': 441603, 'Alamosa County': 15445, 'Arapahoe County': 572003})]
</code></pre>