如何将两个列表的对应字符串值拼接为新列表的元素?
Python 拼接两个列表的对应元素生成新列表
当然可以,这里有几种简洁的方法实现你要的效果:
方法一:列表推导式 + zip(最推荐)
利用zip()将两个列表的对应元素配对,再通过f-string拼接成目标格式,直接生成新列表:
answers = ["RAM", "PC", "WAN"] terms = ["Random Access Memory", "Personal Computer", "Wide Area Network"] combination = [f"{ans} - {term}" for ans, term in zip(answers, terms)] print(combination)
运行后输出就是你期望的结果:
["RAM - Random Access Memory", "PC - Personal Computer", "WAN - Wide Area Network"]
方法二:map + lambda
如果偏好函数式写法,也可以用map()配合匿名函数实现:
combination = list(map(lambda a, t: f"{a} - {t}", answers, terms))
补充说明
如果两个列表长度不一致,zip()会自动以较短的列表长度为准截断。要是需要保留所有元素(长度不足的位置可自定义填充值),可以用itertools.zip_longest:
from itertools import zip_longest # 示例:缺失元素用空字符串填充 combination = [f"{a or ''} - {t or ''}" for a, t in zip_longest(answers, terms)]
内容的提问来源于stack exchange,提问作者TheDivineSlayer
相关产品推荐
相关产品推荐

