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

Python中如何将一维列表与二维列表转换为字典列表?

解决方案

这事儿其实挺简单的,用Python的列表推导式搭配zip()函数就能快速搞定,一行代码就能实现需求:

lst1 = [1, 2, 3]
lst2 = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
dct = [dict(zip(lst1, sub_lst)) for sub_lst in lst2]

运行这段代码后,dct就会完全符合你想要的结构:

[{1:'a', 2:'b', 3:'c'}, {1:'d', 2:'e', 3:'f'}, {1:'g', 2:'h', 3:'i'}]

原理拆解

  • zip(lst1, sub_lst):每次遍历lst2里的子列表时,会把lst1的元素和子列表的元素一一配对,生成类似(1, 'a'), (2, 'b'), (3, 'c')的元组序列。
  • dict(...):Python的dict()函数可以直接把这种元组序列转换成字典,元组的第一个元素作为键,第二个作为对应的值。
  • 外层的列表推导式:遍历lst2的每一个子列表,重复上面的转换操作,最后把所有生成的字典收集成一个列表。

要是你觉得一行代码有点太紧凑,也可以写成更直观的循环形式,逻辑完全一样:

lst1 = [1, 2, 3]
lst2 = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
dct = []
for sub_lst in lst2:
    temp_dict = {}
    for key, value in zip(lst1, sub_lst):
        temp_dict[key] = value
    dct.append(temp_dict)

两种写法结果完全一致,选你看着顺眼的用就行~

内容的提问来源于stack exchange,提问作者Александр Александрович

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:39:23