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

Python嵌套字典构建问题:如何关联企业、年份与销售数据

解决方法

你需要将公司名称、年份列表和对应销售子列表三者按顺序一一关联,而非把销售数据扁平化处理。以下是两种可行的实现方式:

方法一:基于已有company字典更新

先提取公司名称列表(顺序与你定义的company字典一致),再通过索引将每个公司与对应销售数据绑定:

company = {'Honda': {}, 'Toyota': {}, 'Ford': {}}
years = ['Year 1', 'Year 2', 'Year 3']
sales = [[55,9,90],[44,22,67],[83,13,91]]

# 获取公司名称列表,顺序与sales子列表顺序对应
companies = list(company.keys())
for idx, comp_name in enumerate(companies):
    # 用zip将年份和对应销售值配对,转成子字典赋值给公司
    company[comp_name] = dict(zip(years, sales[idx]))

print(company)

方法二:直接生成目标字典(更简洁)

如果不需要保留原空字典结构,可直接用字典推导式一步生成:

years = ['Year 1', 'Year 2', 'Year 3']
sales = [[55,9,90],[44,22,67],[83,13,91]]
company_names = ['Honda', 'Toyota', 'Ford']

result = {name: dict(zip(years, data)) for name, data in zip(company_names, sales)}
print(result)

关键逻辑说明

  • zip(years, sales[idx])会把Year 1与55、Year 2与9这类对应元素配对成元组,再通过dict()转成子字典。
  • zip(company_names, sales)则是把每个公司名称和它对应的整组销售数据绑定,确保数据归属正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:15:32