samplelist = [('A','Pass',10),('A','Pass',20),('A','Failed',5),('B','Pass',10) ,('B','Pass',5)]
预期输出= [('A','Pass',30),('A','Failed',5),('B','Pass',15)]
我使用此代码作为参考,但仍然无法正常工作:
samplelist = [('A', 'Pass', 10), ('A', 'Pass', 20), ('A', 'Failed', 5), ('B', 'Pass', 10), ('B', 'Pass', 5) ]
i used this code as my reference but still cant get it to work :
from collections import defaultdict
d = defaultdict(int)
for letter, value in samplelist:
d[letter] += value
res = list(d.items())
print(res)
# expected output = [('A', 'Pass', 30), ('A', 'Failed', 5), ('B', 'Pass', 15) ]
由于列表中每个元组都有3个元素,因此您需要3个变量来解压缩这些元素:
samplelist = [('A', 'Pass', 10), ('A', 'Pass', 20), ('A', 'Failed', 5), ('B', 'Pass', 10), ('B', 'Pass', 5) ]
from collections import defaultdict
d = defaultdict(int)
for letter, status, value in samplelist:
d[(letter, status)] += value
res = [key + (val,) for key, val in d.items()] # convert to required format
print(res)
结果:
[('A', 'Pass', 30), ('A', 'Failed', 5), ('B', 'Pass', 15)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句