本文介绍在 python 中使用 `zip()` 函数将两个等长列表的对应位置元素(如字符串与数字)高效拼接为新字符串列表的方法,并给出正确示例、常见错误分析及实用注意事项。
在 Python 中,若需将两个列表(如 list1 = [1, 2, 3, 4] 和 list2 = ["nest", "middle", "crow", "damage"])中索引相同的元素依次拼接(即 "nest" + "1" → "nest1"),最简洁、Pythonic 的方式是使用内置函数 zip() 配合列表推导式。
✅ 正确写法如下:
list1 = [1, 2, 3, 4] list2 = ["nest", "middle", "crow", "damage"] list3 = [f"{s}{n}" for s, n in zip(list2, list1)] print(list3) # 输出:['nest1', 'middle2', 'crow3', 'damage4']
⚠️ 注意事项:
assert len(list1) == len(list2), "两个列表长度必须相等"
? 扩展提示:
若希望拼接时加入分隔符(如 "nest-1"),只需修改格式字符串:f"{s}-{n}";若需返回元组或字典等结构,也可用 zip 直接构造:dict(zip(list2, list1))。
掌握 zip() 是处理并行迭代任务的基础技能——它清晰、高效,且完全避免手动索引和 range(len(...)) 的冗余写法。