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

Python不同结构字典除法运算优化:有没有更简洁的实现方法?

字典除法运算优化方案

核心实现

该场景可以直接通过嵌套字典推导式完成计算,完全不需要额外的中间变量、深拷贝和多次遍历操作,代码可读性和简洁度大幅提升,执行效率和原有方案一致:

# 输入定义
d1 = {3: 1, 2: 3, 1: 3}
d2 = {3: {'good best third': 1, 'mind third': 0, 'bad third': 0}, 2: {'good so second': 0, 'mind second': 1, 'bad second': 2}, 1: {'good': 2, 'mind': 0, 'bad': 1}}

# 核心运算代码
dict3 = {
    parent_key: {child_key: child_val / d1[parent_key] for child_key, child_val in child_dict.items()}
    for parent_key, child_dict in d2.items()
}

运行后输出结果和给出的预期结果完全一致。

兼容异常场景的扩展实现

如果需要处理d1中缺失对应父键、或者除数为0的异常场景,可以改用循环写法增加判断逻辑,避免运行报错:

dict3 = {}
for parent_key, child_dict in d2.items():
    divisor = d1.get(parent_key)
    # 除数为0或父键不存在时默认返回0
    if not divisor:
        dict3[parent_key] = {child_key: 0.0 for child_key in child_dict}
        continue
    dict3[parent_key] = {child_key: child_val / divisor for child_key, child_val in child_dict.items()}

内容的提问来源于stack exchange,提问作者K.W. LEE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:57:03