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

Python如何将两个嵌套列表对应元素配对生成目标字典结构

问题解决:嵌套列表配对生成对应字典列表

前提说明

Python 原生字典不允许存在重复键,你给出的预期结果中出现了多个相同键(例如第一个字典中的两个90),如果直接生成标准字典,后面的同名字段会覆盖前面的字段,最终仅会保留最后一个同键名的键值对。

方案1:生成标准字典列表(重复键会自动覆盖)

你之前的代码是把配对结果格式化为字符串,要生成字典只需要将配对好的(key, value)元组序列传入dict()构造函数即可。如果可以接受重复键被覆盖的特性,直接用dict()方法打包配对的子列表即可:

list_1 = [[100, 90, 90, 85, 70], [100, 90, 90, 85, 80], [105, 100, 90, 90, 85]]
list_2 = [[1, 2, 2, 3, 4], [1, 2, 2, 3, 4], [1, 2, 3, 3, 4]]

result = [dict(zip(l1, l2)) for l1, l2 in zip(list_1, list_2)]

运行后输出的结果为:

[{100: 1, 90: 2, 85: 3, 70: 4}, {100: 1, 90: 2, 85: 3, 80: 4}, {105: 1, 100: 2, 90: 3, 85: 4}]

方案2:保留所有配对关系(不丢失重复键数据)

如果需要完整保留所有位置对应的键值对,不因为键重复丢失数据,建议使用元组嵌套列表存储:

result = [[(a, b) for a, b in zip(l1, l2)] for l1, l2 in zip(list_1, list_2)]

运行后输出的结果为:

[[(100, 1), (90, 2), (90, 2), (85, 3), (70, 4)], [(100, 1), (90, 2), (90, 2), (85, 3), (80, 4)], [(105, 1), (100, 2), (90, 3), (90, 3), (85, 4)]]

完全匹配你预期的所有键值配对关系,没有数据丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:45:01