我有一个文本文件,其结构如下:
mom:2
dad:3
mom:4
dad:2
me:4
我需要创建一个只显示每个名称一次的字典,但要将数值相加。在这种情况下,它看起来像这样:
{dad':5, 'me':4, 'mom':6}
我该如何解决这个问题? 我试过了
d = {}
try:
file = open(file.txt, "r")
for line in file:
(a, b) = line.split(":")
d[a] = float(b)
except IOError:
print()
但我还没有找到计算价值的方法。
答案 0 :(得分:1)
with open('file.txt', 'r') as f:
fp = f.readlines()
t = [l.strip().split(':') for l in fp if l != '\n']
d = {}
for l in t:
d[l[0]] = d.setdefault(l[0], 0) + int(l[1])