让我们假设我有一个这样的字典:
input_dict = {'3': 2, '5': 4, '36': 7,'62':6}
我想将其作为输出:
input_dict = {'3': 9, '5': 4, '6':6}
基本上,我想做以下事情:
最有效的方法是什么?
答案 0 :(得分:2)
您可以使用defaultdict
并切片key
字符串,仅保留第一个字符:
from collections import defaultdict
d = defaultdict(int)
for k,v in input_dict.items():
d[k[0]] += v
print(d)
# defaultdict(int, {'3': 9, '5': 4, '6': 6})
答案 1 :(得分:1)
使用此:
new_dict = {}
for key, val in input_dict.items():
if key[0] not in new_dict:
new_dict[key[0]] = val
else:
new_dict[key[0]] += val
输出
{'3': 9, '5': 4, '6': 6}
答案 2 :(得分:1)
您可以使用字典中的get方法:
input_dict = {'3': 2, '5': 4, '36': 7, '62': 6}
result = {}
for k, v in input_dict.items():
key = k[0]
result[key] = v + result.get(key, 0)
print(result)
输出
{'3': 9, '5': 4, '6': 6}