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

Python中如何高效将两个列表合并为含多键的字典列表?

高效将两个列表转换为指定格式的字典列表

嘿,这个需求在日常Python开发里太常见了!我给你分享几种既高效又简洁的实现方式,都是Python圈里公认的「优雅写法」:

方法一:列表推导式 + zip(最推荐)

这是最直观、可读性最高的方案,而且时间复杂度是O(n),效率拉满:

my_list1 = ["Harry", "Bob"]
my_list2 = ["21", "23"]

# 核心代码一行搞定
result = [{"name": name, "age": age} for name, age in zip(my_list1, my_list2)]

print(result)
# 输出: [{"name": "Harry", "age":"21"}, {"name": "Bob", "age":"23"}]

原理很简单:zip()会把两个列表中对应位置的元素配对成元组,然后列表推导式逐个把这些元组转换成你需要的字典格式。

方法二:map + lambda (简洁派可选)

如果你偏爱更紧凑的写法,用map()配合匿名函数也能实现:

result = list(map(lambda x, y: {"name": x, "age": y}, my_list1, my_list2))

这里map()会把两个列表的元素依次传给lambda函数,生成对应的字典,最后用list()把迭代器转换成列表。不过相比列表推导式,这种写法的可读性稍弱一点,适合简单场景。

小提示

如果你的两个列表长度可能不一致,可以用itertools.zip_longest来替代zip(),这样不会因为短列表结束就丢弃长列表里的剩余元素(还能指定默认值处理缺失项)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:16:33