Python中如何将两个列表对应元素配对生成新的元组列表?
实现方案
方法1:使用内置zip函数(最推荐)
zip是Python内置的迭代器函数,会将多个可迭代对象的对应位置元素依次打包为元组,直接转换为列表即可得到目标结果:
listA = [] a = [1, 2, 3] b = [9, 8, 7] listA = list(zip(a, b))
运行后listA的输出就是[(1, 9), (2, 8), (3, 7)]。如果两个输入列表长度不一致,zip会自动截断到较短列表的长度。
方法2:索引遍历实现(适合需要自定义逻辑的场景)
如果需要在拼接时添加自定义判断逻辑,可以手动按索引遍历两个列表:
listA = [] a = [1, 2, 3] b = [9, 8, 7] for i in range(len(a)): # 可在此处添加自定义处理逻辑 listA.append((a[i], b[i]))
注意这种写法需要提前保证两个列表长度一致,否则会出现索引越界错误。
内容的提问来源于stack exchange,提问作者Mahdi Haeri
相关产品推荐
相关产品推荐

