如何实现两个列表对应位置字符串元素拼接生成新列表
Python实现两列表同索引元素逐一拼接
要实现两个列表同索引位置的元素逐一拼接生成新列表,直接用内置zip()函数配对同位置元素,再逐对做字符串拼接即可,写法简洁运行效率高。
代码实现
首先定义示例输入列表:
list1 = ["super", "cool", "huge"] list2 = ["dog", "cat", "mouse"]
推荐写法(列表推导式)
这是日常开发最常用的简洁实现:
result = [a + b for a, b in zip(list1, list2)]
执行后得到的result输出为['superdog', 'coolcat', 'hugemouse'],完全匹配预期结果。
注意事项
- 如果两个输入列表长度不一致,默认情况下
zip()会以更短的列表长度为基准截断配对,不会报索引错误。如果需要强制要求两个列表长度完全匹配,Python 3.10及以上版本可以给zip()传入strict=True参数,长度不匹配时会直接抛出ValueError,避免静默丢失数据:result = [a + b for a, b in zip(list1, list2, strict=True)] - 如果需要兼容Python 3.10以下的老旧版本,也可以用索引遍历的写法实现相同效果:
result = [] for i in range(len(list1)): result.append(list1[i] + list2[i])
内容的提问来源于stack exchange,提问作者SillyStraw1022
相关产品推荐
相关产品推荐

