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

如何将Python列表1的第n个元素与列表2的第n个元素对应拼接

实现两个列表对应元素的指定拼接

需求说明

现有两个列表:

list1 = [1, 2, 3, 4]
list2 = ["nest", "middle", "crow", "damage"]

需要将list2的元素在前,list1对应位置的数字在后拼接,得到新列表:["nest1","middle2","crow3","damage4"]

错误代码问题分析

之前使用的代码:

list3 = [f"{i}{j}" for i, j in enumerate(list2)]

问题在于enumerate(list2)返回的是(索引值, list2元素),而非list1的目标数字元素,所以最终拼接的是索引和字符串,不符合需求。

正确实现方法

方法一:使用zip()的列表推导式(推荐)

zip()可以将两个列表的对应元素配对,直接遍历配对后的元素完成拼接:

list1 = [1, 2, 3, 4]
list2 = ["nest", "middle", "crow", "damage"]

list3 = [f"{word}{num}" for word, num in zip(list2, list1)]
print(list3)

输出结果:

["nest1","middle2","crow3","damage4"]

方法二:通过索引遍历

如果两个列表长度相同,也可以通过索引逐个访问元素拼接:

list1 = [1, 2, 3, 4]
list2 = ["nest", "middle", "crow", "damage"]

list3 = []
for idx in range(len(list1)):
    list3.append(f"{list2[idx]}{list1[idx]}")
print(list3)

注意事项

  • 确保两个列表长度一致,否则zip()只会处理到较短列表的长度;如果需要处理长度不一致的场景,可以使用itertools.zip_longest()(需先导入itertools模块)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 15:22:02