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

Python如何循环遍历字典嵌套结构计算所有矩形面积总和

实现方法

你现有代码只通过[0]取了dimensions列表的第一个元素,所以只能算出第一组数据的面积。要批量处理所有条目并累加总面积,直接遍历整个dimensions列表即可,哪怕列表包含上百组数据,该逻辑的运行效率也完全满足需求。

方法1:基础for循环(可读性强,适合新手)

逻辑非常直白:先初始化总面积变量为0,逐一遍历每一组尺寸,计算单块矩形面积后累加到总面积变量中即可。

data = {
  "shape" : "rectangle",
  "dimensions" : [
    {"length" : 15, "breadth": 20},
    {"length" : 20, "breadth": 10}
  ]
}

total_area = 0
# 遍历所有尺寸条目
for dim in data["dimensions"]:
    # 计算当前矩形面积
    area = dim["length"] * dim["breadth"]
    # 累加到总面积
    total_area += area

print(total_area)

运行你提供的示例数据,输出结果为500,即1520 + 2010 = 300 + 200的正确累加值。

方法2:精简生成器写法

如果想要更短的代码,可以直接配合Python内置的sum()函数,用生成器表达式一步算出结果:

total_area = sum(dim["length"] * dim["breadth"] for dim in data["dimensions"])
print(total_area)

可选:异常数据容错

如果你的实际数据可能存在缺失length或breadth字段的异常条目,可以用字典的get()方法设置默认值为0,避免运行时报KeyError:

total_area = 0
for dim in data["dimensions"]:
    # 字段缺失时默认取0,不会中断程序
    length = dim.get("length", 0)
    breadth = dim.get("breadth", 0)
    total_area += length * breadth

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:36:13