我正在尝试添加相同键的字典的值。在下面的示例中,我去掉了每个键的版本编号,同时尝试添加“same”键的值。你知道吗
item_dict = {
"item_C_v001" : 100,
"item_C_v002" : 100,
"item_A_v001" : 50,
"item_B_v001" : 75
}
我的预期输出应该是:
"item_C_v" : 200,
"item_A_v" : 50,
"item_B_v" : 75
但是如果我尝试打印item_dict
,我会得到以下结果:
"item_C_v" : 100,
"item_A_v" : 50,
"item_B_v" : 75
但当我试图脱光衣服的那一刻,似乎item_C_v
已经读过一次了。如何使它读“两次”,以便获得200
作为它的输出?你知道吗
可以使用^{} 对结果进行分组,并将结果与键的所需部分相加,例如,可以使用正则表达式来获得所需部分。大致如下:
您可以使用^{} 以不同的方式提取键的所需部分:
或者,简单地通过切片,如果数字前的子串长度或字符串末尾的位数是恒定的:
或者,将数字右移:
您可以使用
itertools.groupby()
来收集所有相似的键,然后构造一个新的字典来汇总所有组值,例如:@alecxe描述了几种获取所需密钥部分的方法,上面使用了
key[-3]
。你知道吗有一个请求同时获取
count
和sum
,您可以在一个简单的循环中实现并管理一个计数器,但有一种方法:您可以迭代原始字典并将新的键附加到新字典中,如果键已经存在,则将当前值添加到原始值中。你知道吗
相关问题 更多 >
编程相关推荐