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

Python嵌套字典访问累加人口值,要求使用json模块该如何实现?

实现代码
import json

# 源嵌套字典数据
js = {"data": [
 {'state': 'Florida',
  'shortname': 'FL',
  'info': {'governor': 'Rick Scott'},
  'counties': [{'name': 'Dade', 'population': '12345'},
               {'name': 'Broward', 'population': '40000'},
               {'name': 'Palm Beach', 'population': '60000'}]},
 {'state': 'Ohio',
  'shortname': 'OH',
  'info': {'governor': 'John Kasich'},
  'counties': [{'name': 'Summit', 'population': '1234'},
               {'name': 'Cuyahoga', 'population': '1337'}]}]
}

# 按要求使用json模块处理数据:如果源数据是JSON字符串可直接用json.loads
# 此处为适配Python字典输入,先序列化再反序列化,满足json模块使用要求
json_str = json.dumps(js)
processed_data = json.loads(json_str)

# 遍历计算每个州的总人口
for state_item in processed_data['data']:
    total = 0
    # 遍历当前州所有县累加人口,无需手动指定索引适配任意数量的县
    for county in state_item['counties']:
        total += int(county['population'])
    print(f"{state_item['state']} {total}")
说明
  • 代码完全遵循json模块使用要求,如果你原始输入就是JSON格式字符串,可直接调用json.loads处理,不需要json.dumps步骤。
  • 人口累加逻辑通过遍历counties列表实现,无需手动按索引取字段,可自动适配任意数量的县级数据。
  • 注意原始数据中population字段为字符串类型,累加前需要转换为整数,否则会出现字符串拼接的错误。
  • 注:你给出的预期输出中Florida人口22345和原始数据累加结果(12345+40000+60000=112345)不符,属于原始数据输入笔误,代码逻辑无问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:54:03