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

如何基于Python列表构建指定结构的嵌套字典

构建嵌套字典的实现方法

首先,我们需要将每个工厂(fab_centrum中的元素)对应到一组销售线数据,每条销售线再关联对应的分数。以下是适合新手的两种实现方式:

方法一:循环实现(易理解)

fab_centrum = ['A', 'B'] 
sales_line = ['1AA', '2BB', '3CC', '1AA', '2BB', '3CC']
keys = ['feasibility_score', 'capacity_score']
feasibility_score = [10,30,40, 10,30,40]
capacity_score = [50,60,70, 50,60,70]

# 计算每个工厂对应的销售线条数
per_fab_count = len(sales_line) // len(fab_centrum)

batch = {}
for i, fab in enumerate(fab_centrum):
    # 截取当前工厂对应的数据集
    start = i * per_fab_count
    end = start + per_fab_count
    current_sales = sales_line[start:end]
    current_feas = feasibility_score[start:end]
    current_cap = capacity_score[start:end]
    
    # 构建当前工厂的销售线-分数字典
    sales_dict = {}
    for sl, feas, cap in zip(current_sales, current_feas, current_cap):
        sales_dict[sl] = {
            keys[0]: feas,
            keys[1]: cap
        }
    
    # 将销售线字典添加到外层工厂字典中
    batch[fab] = sales_dict

print(batch)

代码说明:

  • per_fab_count:计算每个工厂分配到的销售线条数(这里是6条÷2个工厂=3条/工厂)。
  • enumerate(fab_centrum):同时获取工厂的索引和名称,方便截取对应的数据切片。
  • zip(current_sales, current_feas, current_cap):将销售线、可行性分数、容量分数一一配对,批量生成子字典。

方法二:字典推导式(更简洁)

如果熟悉Python的推导式写法,可以用更紧凑的代码实现:

fab_centrum = ['A', 'B'] 
sales_line = ['1AA', '2BB', '3CC', '1AA', '2BB', '3CC']
keys = ['feasibility_score', 'capacity_score']
feasibility_score = [10,30,40, 10,30,40]
capacity_score = [50,60,70, 50,60,70]

per_fab_count = len(sales_line) // len(fab_centrum)
batch = {
    fab: {
        sl: {keys[0]: feas, keys[1]: cap}
        for sl, feas, cap in zip(
            sales_line[i*per_fab_count:(i+1)*per_fab_count],
            feasibility_score[i*per_fab_count:(i+1)*per_fab_count],
            capacity_score[i*per_fab_count:(i+1)*per_fab_count]
        )
    }
    for i, fab in enumerate(fab_centrum)
}

print(batch)

注意:

为什么不能直接用dict.fromkeys(fab_centrum, sales_line)?因为dict.fromkeys会让所有工厂共享同一个值对象(比如这里的sales_line列表),后续修改其中一个工厂的内容会影响所有工厂,无法实现每个工厂独立的嵌套字典结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:20:16