Python中的zip反向函数 - 具有不同长度的子列表的嵌套列表

时间:2017-01-05 07:08:29

标签: python-2.7 list-comprehension

我试图通过在具有不等长度子列表的单个列表上使用Zip逆来获得预期结果。只是想知道是否有办法通过列表理解来实现这一点。

    a = [[1,2],[1]]

    print zip(*a)

    result : 
    [(1, 1)]

    Expected result:
    [((1, 1)), ((2, None))]

1 个答案:

答案 0 :(得分:0)

zip()一个序列用完时停止,即它只返回与最小子序列有元素一样多的项目。

  

返回的列表的长度被截断为最短参数序列的长度

itertoolsizip_longest(),它运行在最长的序列上,为不存在的项返回填充元素:

>>> a = [[1,2],[1]]
>>> from itertools import izip_longest
>>> print list(izip_longest(*a))
[(1, 1), (2, None)]