3 回答

TA贡献2012条经验 获得超12个赞
你几乎在那里
d = {}
f = [ '1, deepak, 15',
'2, nayak, 10',
'3, deepak, 10',
'4, nayak, 13']
for line in f:
# by splitting on the comma and trailing space
# you can unpack those three entries into a throw-away var,
# k, and v and you only need to convert v to int
_, k, v = line.split(', ')
d[k] = d.get(k, 0) + int(v)
d
{'deepak': 25, 'nayak': 23}

TA贡献1848条经验 获得超10个赞
d={}
d['deepak'] = 0
d['nayak'] = 0
f = [ '1, deepak, 15',
'2, nayak, 10',
'3, deepak, 10',
'4, nayak, 13']
for lines in f:
print(lines)
##appropriate logic to excute#
line = lines.split(', ')
d[line[1]] += int(line[-1])
print(d)

TA贡献1776条经验 获得超12个赞
您可以Counter从collections模块中使用,以减少使用常规 dict 时所需的一些样板文件
from collections import Counter
f = [
'1, deepak, 15',
'2, nayak, 10',
'3, deepak, 10',
'4, nayak, 13'
]
result = Counter()
for x in f:
_, name, count = x.split(', ')
result[name] += int(count)
print(result)
添加回答
举报