在python中添加到字典而不是追加

在python中添加到字典而不是追加,python,dictionary,Python,Dictionary,我的原始数据是: abc 123 abc 456 def 789 def 101112 我想把它放到一个字典里,第一列是键,第二列是值。在字典中,我目前有: {'abc': ['123', '456'], 'def': ['789', '101112']} 我不想附加这些值,而是想将它们添加到原始值中,使其看起来像: {'abc': ['579'], 'def': ['101901']} 我目前的代码是: d = defaultdict(list) infile = open('test.

我的原始数据是:

abc 123
abc 456
def 789
def 101112
我想把它放到一个字典里,第一列是键,第二列是值。在字典中,我目前有:

{'abc': ['123', '456'], 'def': ['789', '101112']}
我不想附加这些值,而是想将它们添加到原始值中,使其看起来像:

{'abc': ['579'], 'def': ['101901']}
我目前的代码是:

d = defaultdict(list)
infile = open('test.csv','r')
lines = infile.readlines()[2:-1]
for item in lines:
    key, value = [a.strip() for a in item.split(' ')]
    d[key].append(value)   

下面是使用默认python
dict
的版本:

d = dict()
infile = open('test.csv', 'r')
lines = infile.readlines()[2:-1]
for line in lines:
    k, v = [i.strip() for i in line.split(' ')]
    if k in d:
        d[k] = [str(int(d[k][0]) + int(v))]
    else:
        d[k] = [v]
print d

为什么需要包含整数字符串的单元素列表?你为什么不想要{'abc':579,'def':101901}?
d = defaultdict(list)
with open('test.csv', 'r') as infile:
    for line in infile.readlines()[2:-1]:
        key, value = [a.strip() for a in item.split(' ')]
        d[key] = str(int(d[key] + value))
d = dict()
infile = open('test.csv', 'r')
lines = infile.readlines()[2:-1]
for line in lines:
    k, v = [i.strip() for i in line.split(' ')]
    if k in d:
        d[k] = [str(int(d[k][0]) + int(v))]
    else:
        d[k] = [v]
print d