You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中对含相似标识的字典键对应Decimal值求和

按标识对字典值求和的解决方案

问题说明

给定字典:

from decimal import Decimal
values={'P-ETH-900':Decimal(122),'P-ETH-700':Decimal(455),'P-BTC-900':Decimal(12),'P-BTC-700':Decimal(55)}

需要将键中包含相同标识(如ETH、BTC)的条目对应的Decimal值求和,最终输出格式为{'ETH':'577','BTC':'67'}。

通用实现代码

不用单独针对每个标识写判断逻辑,用通用方法处理:

from decimal import Decimal

values = {'P-ETH-900': Decimal(122), 'P-ETH-700': Decimal(455), 'P-BTC-900': Decimal(12), 'P-BTC-700': Decimal(55)}

sum_result = {}
for key, val in values.items():
    # 从键中提取标识部分(拆分'-'后取第二个元素)
    symbol = key.split('-')[1]
    # 初始化或累加对应标识的数值
    if symbol not in sum_result:
        sum_result[symbol] = Decimal(0)
    sum_result[symbol] += val

# 转换为期望的字符串值格式
final_output = {k: str(v) for k, v in sum_result.items()}
print(final_output)

输出结果

运行代码后会得到:

{'ETH': '577', 'BTC': '67'}

这个方法的优势是扩展性强,后续新增其他标识(如SOL、ADA等)的条目时,无需修改代码逻辑就能自动完成求和。

内容的提问来源于stack exchange,提问作者Madan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 07:20:39