我有一本叫做tempDict的字典,它被这样填充:

tempDict = {'a': 100, 'b': 200, 'c': 120, 'b_ext1': 4, 'd': 1021, 'a_ext1': 21, 'f_ext1': 12}


在我的设置中,我需要遍历键,如果对于任何带有'_ext1'后缀的键,我想重写或创建一个新字典,保留一个未更改的键(最好不带'ext1'),但合并值。

即:

newDict = {'a': 121, 'b': 204, 'c': 120, 'd': 1021, 'f_ext1':12}


注意,字典中的最后一个条目应该保持不变,因为没有'f'后缀不为'_ext1'

值本身不会是整数,但是操作类似。

有人有什么想法吗?

最佳答案

newDict = {}
for k in tempDict:
    if k.endswith("_ext1") and k[:-5] in tempDict:
       newDict[k[:-5]] = newDict.get(k[:-5],0)+tempDict[k]
    else:
       newDict[k] = newDict.get(k,0)+tempDict[k]

10-08 02:33