更改键名并添加相同键的值

假设我有一本这样的字典:

input_dict = {'3': 2, '5': 4, '36': 7,'62':6}

我想把它作为输出:

input_dict = {'3': 9, '5': 4, '6':6}

基本上,我想做以下事情:

  1. 只保留键的第一个字符

  2. 如果之后某些键相同,则添加它们的值

最有效的方法是什么?


慕哥6287543
浏览 132回答 3
3回答

紫衣仙女

您可以使用 adefaultdict并切片key仅保留第一个字符的字符串:from collections import defaultdictd = defaultdict(int)for k,v in input_dict.items():    d[k[0]] += vprint(d)# defaultdict(int, {'3': 9, '5': 4, '6': 6})

德玛西亚99

您可以使用字典中的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}

白衣非少年

用这个: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}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python