尝试压缩两个在python中大小不相同的列表时出错

时间:2017-06-08 18:39:12

标签: python

我有两个大小不同的列表

 a=[1,2,3,4,5,6]
 b=[3,6,7,8]

 a=[3,4,5,6,7]
 b=[1,2,3,4,16,7,7,8,0]

现在我要压缩这两个大小不相等的列表      C =拉链(A,B)

这样我才能做到

 for i,j in c:
   print i , j

请建议。

1 个答案:

答案 0 :(得分:2)

您可以使用itertools中的izip_longest:

from itertools import izip_longest

a=[1,2,3,4,5,6]
b=[3,6,7,8]

new_val = list(izip_longest(a, b))

这将给出:

[(1, 3), (2, 6), (3, 7), (4, 8), (5, None), (6, None)]

izip_longest(或Python3中的zip_longest)将替换None,因为两个或更多列表之间的长度不匹配会被压缩。