擅长:python、mysql、java
<p>使用<code>defaultdict</code>:</p>
<pre><code>>>> from collections import defaultdict
>>> d = defaultdict(lambda: [0,0], list())
>>> for a,b,c in sample:
d[a][0]+=b
d[a][1]+=c
</code></pre>
<p>#驱动程序值:</p>
<pre><code>IN : sample = [['no',2, 6], ['ja',5,7], ['no',4,9], ['ja',10,11], ['ap',7,12]]
OUT : d = defaultdict(<function <lambda> at 0x7f4349f17620>,
{'no': [6, 15], 'ja': [15, 18], 'ap': [7, 12]})
</code></pre>
<p>由于输出是这样构造的,因此我建议您使用<code>dict</code>类型来存储输出,因为将来使用它进行处理会更容易。你知道吗</p>
<p>如果仍然希望输出为<code>list</code>,只需映射<code>dict</code>,如下所示:</p>
<pre><code>>>> [ [key]+ele for key,ele in d.items()]
=> [['no', 6, 15], ['ja', 15, 18], ['ap', 7, 12]]
</code></pre>