python - 更改键名称并添加相同键的值

标签 python dictionary

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

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

我想将其作为输出:

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

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

  1. 仅保留按键的第一个字符
  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})

关于python - 更改键名称并添加相同键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58102001/

相关文章:

python - 将 datetime.date 的表示转换为 pandas.Timestamp 的表示

python - 如何将以列表作为值的字典转换为具有单个值的字典列表?

python - 如何在字典中生成值的有序线性组合?

objective-c - 如何仅添加一次 MKOverlay?

python - 拆分和编辑 CSV 列并按字母顺序排列

ios - Swift 字典荒谬的内存使用

python - 向亚马逊 SES 发送电子邮件的最快方式是什么?

python - 如何在Python中从纬度和经度获取带有关联邮政编码的数据框?

python - 为什么我的 csv 数据通过将其转换为另一个变量中的列表而被更改?

python - 无效语法 - Shapely 空间操作