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

Python中如何合并/压缩多列表以生成指定格式的新列表?

解决多列表对应位置元素拼接的问题

嘿,这个需求很直观,我给你两种实用的Python实现方式,都是处理这类对应位置元素合并的常用技巧:

方法1:列表推导式 + zip + f-string(最易读)

这种方式代码简洁,可读性拉满,非常适合你的场景:

l1 = ["123", "456", "789"]
l2 = ["car", "plane", "bike"]
l3 = ["159", "200", "400"]

l4 = [f"{item1} {item2} {item3}" for item1, item2, item3 in zip(l1, l2, l3)]
print(l4)
# 输出结果正好是你要的:["123 car 159", "456 plane 200", "789 bike 400"]

原理很简单:zip(l1, l2, l3)会把三个列表对应位置的元素打包成一个个元组(比如第一个元组是("123", "car", "159")),然后列表推导式遍历每个元组,用f-string把三个元素用空格拼接成字符串。

方法2:map + str.join(函数式风格)

如果你偏好函数式编程的写法,用map配合join也能快速搞定:

l4 = list(map(lambda tup: ' '.join(tup), zip(l1, l2, l3)))
print(l4)

这里lambda函数接收每个打包后的元组,用' '.join()直接把元组里的元素用空格连接起来,最后转成列表就行。

小提醒:如果你的三个列表长度不一致,zip会自动以最短的列表为准截断结果。要是需要保留所有元素(短列表补默认值),可以用itertools.zip_longest,不过看你的例子三个列表长度相同,直接用zip就够啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:10:22