我有一个字典,在多个键下有多个值。我不想要单个值的总和。我想找到一种方法来找到每个键的总和。该文件是制表符分隔的,标识符是其中两项的组合,Btarg。每个标识符都有多个值。
这是一个测试文件: 这是一个测试文件,所需的结果如下:
图案项目丰度
1 蚂蚁 2
2 狗 10
3 长颈鹿 15
1 蚂蚁 4
2 狗 5
这是预期的结果:
图案1蚂蚁,6
图案2狗,15
Pattern3长颈鹿,15
这是我到目前为止所拥有的:
for line in K:
if "pattern" in line:
find = line
Bsplit = find.split("\t")
Buid = Bsplit[0]
Borg = Bsplit[1]
Bnum = (Bsplit[2])
Btarg = Buid[:-1] + "//" + Borg
if Btarg not in dict1:
dict1[Btarg] = []
dict1[Btarg].append(Bnum)
#The following used to work
#for key in dict1.iterkeys():
#dict1[key] = sum(dict1[key])
#print (dict1)
如何在 Python 3 中完成这项工作而不会出现错误消息“+: 'int' 和 'list' 不支持的操作数类型?提前致谢!