Using defaultdict
:
>>> from collections import defaultdict
>>> d = defaultdict(lambda: [0,0], list())
>>> for a,b,c in sample:
d[a][0]+=b
d[a][1]+=c
#驱动程序值:
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]})
由于输出是这样构造的,我建议您使用dict
用于存储输出的类型,以便将来处理它会更容易。
如果您仍然希望输出为list
,只需映射dict
, 如下:
>>> [ [key]+ele for key,ele in d.items()]
=> [['no', 6, 15], ['ja', 15, 18], ['ap', 7, 12]]