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

如何将三个列表与指定键打包为嵌套字典?(Python)

解决方案:将列表打包为嵌套字典结构

嘿,这事儿用Python的字典推导式加zip()就能轻松搞定,给你写个简洁的实现:

# 原始数据
idx = ['a', 'b', 'c', 'd']
l_1 = [1, 2, 3, 4]
l_2 = [5, 6, 7, 8]
key_1 = 'mkt_o'
key_2 = 'mkt_c'

# 可选:先检查列表长度是否一致,避免数据不匹配问题
if len(idx) != len(l_1) or len(idx) != len(l_2):
    raise ValueError("所有输入列表必须长度相同!")

# 构建目标嵌套字典
result = {
    item_key: {key_1: val_from_l1, key_2: val_from_l2}
    for item_key, val_from_l1, val_from_l2 in zip(idx, l_1, l_2)
}

# 输出结果
print(result)

代码解释:

  • zip(idx, l_1, l_2)会把三个列表对应位置的元素打包成元组,比如第一个元组就是('a', 1, 5),依次遍历所有元组;
  • 字典推导式会逐个将item_key作为外层字典的键,同时用给定的key_1和key_2构建内层字典,分别对应l_1和l_2中的值;
  • 可选的长度检查能提前发现数据不匹配的问题,避免生成不完整的字典。

运行后得到的结果完全符合你的需求:

{'a': {'mkt_o': 1, 'mkt_c': 5}, 'b': {'mkt_o': 2, 'mkt_c': 6}, 'c': {'mkt_o': 3, 'mkt_c': 7}, 'd': {'mkt_o': 4, 'mkt_c': 8}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:17:25