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

Python中如何将多个列表元素按位合并为新列表?

按位合并列表为字典列表的实现方式

有几种简单实用的方法可以实现你要的效果,下面是最常用的两种:

方法一:列表推导式 + zip

直接利用zip()将三个列表按元素位置一一配对,再通过列表推导式逐个生成字典:

ID = [1, 2, 3, 4]
Name = ["Sam", "Tom", "Jett", "Cal"]  # 注意:元素需加引号,否则会被视为未定义变量
Age = [29, 28, 30, 19]

# 生成目标列表
result = [{"ID": id_num, "Name": name, "Age": age} for id_num, name, age in zip(ID, Name, Age)]
print(result)

输出结果:

[{'ID': 1, 'Name': 'Sam', 'Age': 29}, {'ID': 2, 'Name': 'Tom', 'Age': 28}, {'ID': 3, 'Name': 'Jett', 'Age': 30}, {'ID': 4, 'Name': 'Cal', 'Age': 19}]

方法二:适配多列表的通用写法

如果后续需要调整键名或新增更多列表,这种写法更易维护:

ID = [1, 2, 3, 4]
Name = ["Sam", "Tom", "Jett", "Cal"]
Age = [29, 28, 30, 19]

# 定义字典的键名
keys = ["ID", "Name", "Age"]
# 打包所有值列表
value_lists = [ID, Name, Age]

# 生成结果
result = [dict(zip(keys, item)) for item in zip(*value_lists)]

原理:zip(*value_lists)会将多个值列表按位置拆分重组,生成每组对应元素的元组,再通过dict(zip(keys, item))将键与对应值组合成字典。

注意事项

  • 确保所有输入列表长度一致,zip()会自动以最短的列表长度为准,截断超出部分的元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:54:57