使字典脱离列表

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个值的相同键,我需要将它们加在一起.

有人可以请求帮助,并让我知道如何解决这个问题?

Dee*_*ace 6

您可以通过以下方式轻松实现此目的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)