在字典中添加/更新key,val

时间:2018-01-04 16:45:11

标签: python dictionary

我想在开头设置一个空字典ind_dict,然后当我得到一对(key, val)时。如果key中已存在ind_dict,我只会将val(浮点类型)加起来,否则我会添加新的(key, val)对。

2 个答案:

答案 0 :(得分:1)

这是Any的用例:

return types

现在:

match cases
  

defaultdict

     

调用默认工厂时不带参数来生成   当密钥不存在时的新值,仅在 getitem 中。   defaultdict与dict的比较等同于相同的项目。   所有剩余的论点都被视为与它们相同   传递给dict构造函数,包括关键字参数。

此处from collections import defaultdict ind_dict = defaultdict(float) for key, val in [('a', 1), ('b', 2), ('a', 3)]: ind_dict[key] += val >>> ind_dict defaultdict(float, {'a': 4.0, 'b': 2.0}) 。致电defaultdict(default_factory[, ...]) --> dict with default factory会为您提供default factory。 所以你可以直接添加它而不需要任何float语句。

答案 1 :(得分:0)

def addFloatToFloatDic(tup,dic): 
    if tup[0] in dic:        # check if in dict, if so 
        dic[tup[0]] += tup[1]    # add value
    else:                    # else 
        dic[tup[0]] = tup[1]      # use as initial value

ind_dic = {}

addFloatToFloatDic(("k",12.1),ind_dic)
print (ind_dic)

addFloatToFloatDic(("k",12.1),ind_dic)
print (ind_dic)

输出:

{'k': 12.1}
{'k': 24.2}