我正试图找到一种有效的方法来完成以下工作:
我有这个样本:
sample = [['no',2, 6], ['ja',5,7], ['no',4,9], ['ja',10,11], ['ap',7,12]]
而且需要
res = [['no', 6, 15], ['ja', 15, 18], ['ap',7,12]]
即,求第一个元素相同的子列表的相应值之和。你知道吗
多谢了
我的代码是:
codes = list(set([element[0] for element in sample]))
res=[]
for code in codes:
aux=[code]
res01 = 0
res02 = 0
for element in sample:
if element[0] == code:
res01 += element[1]
res02 += element[2]
aux += [res01, res02]
res.append(aux)
使用
defaultdict
:#驱动程序值:
由于输出是这样构造的,因此我建议您使用
dict
类型来存储输出,因为将来使用它进行处理会更容易。你知道吗如果仍然希望输出为
list
,只需映射dict
,如下所示:相关问题 更多 >
编程相关推荐