noc*_*951 4 python dictionary list
给出了一个列表:
List= ["sugar:10", "coffee:23", "sugar:47", "salt:26"]
Run Code Online (Sandbox Code Playgroud)
从那个列表我需要得到字典:
Dict = {"sugar":57, "coffee":23, "salt":26}
Run Code Online (Sandbox Code Playgroud)
我之前做了一些类似的例子,但是有了这个,我只有一般的想法(首先拆分列表),如果有2个值的相同键,我需要将它们加在一起.
有人可以请求帮助,并让我知道如何解决这个问题?
您可以通过以下方式轻松实现此目的defaultdict:
from collections import defaultdict
li = ["sugar:10", "coffee:23", "sugar:47", "salt:26"]
d = defaultdict(int)
for item in li:
split_item = item.split(':')
d[split_item[0]] += int(split_item[1])
print(d)
# defaultdict(<class 'int'>, {'sugar': 57, 'coffee': 23, 'salt': 26})
Run Code Online (Sandbox Code Playgroud)