使用for循环计算嵌套字典所有值的总和且不得使用sum()函数
报错原因
出现该类型错误是因为遍历字典时没有逐层拆解嵌套的字典、列表结构,直接将内层字典对象与数值类型执行加法运算导致的。
可行实现代码
Dictionary = {"001": {"a" : [1, 5, 6], "b" : [2, 8, 9] }, "002": {"c" : [6.89, 5.67, 1.24], "d" : [9.32, 6, 78] }} # 初始化总和变量 total = 0 # 第一层遍历:取外层字典存储的所有内层字典对象 for inner_dict in Dictionary.values(): # 第二层遍历:取内层字典存储的所有数值列表 for num_list in inner_dict.values(): # 第三层遍历:取列表内的单个数值执行累加 for num in num_list: total += num print("所有数值总和为", total)
实现说明
- 三层
for循环分别对应拆解三层嵌套结构:外层字典 → 内层字典 → 数值列表,从根源避免不同类型对象相加的问题 - 全程手动执行累加逻辑,未使用
sum()内置函数,完全符合需求要求 - 最终计算结果为
138.12,可直接验证正确性
内容的提问来源于stack exchange,提问作者wizcode
相关产品推荐
相关产品推荐

