首页 > 解决方案 > Python,如何压缩大小不等的列表,如果一个列表的长度小于另一个,则填充无

问题描述

例如,我想压缩两个不同大小的列表:

list1=[1,2,3]
list2=[1,2,3,4]

# zip the two list will be [(1,1),(2,2),(3,3)]
zip(list1, list2)

我想要的是:

[(1,1),(2,2),(3,3),(None,4)]

有什么简单的方法可以实现这一目标吗?

标签: python

解决方案


itertools 中有 zip_longest 可以做到这一点:

>>> from itertools import zip_longest
>>> list(zip_longest(range(1,4), range(1,5)))
[(1, 1), (2, 2), (3, 3), (None, 4)] 

推荐阅读