Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,如何压缩大小不等的列表,如果有一个列表';s长度小于另一个长度,而不填充任何长度_Python - Fatal编程技术网

Python,如何压缩大小不等的列表,如果有一个列表';s长度小于另一个长度,而不填充任何长度

Python,如何压缩大小不等的列表,如果有一个列表';s长度小于另一个长度,而不填充任何长度,python,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)] 有什么简单的方法可以做到这一点吗 itertools中有一个zip_longest,它可以: >>> from itertools import zip_longest >

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

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)]

有什么简单的方法可以做到这一点吗

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)] 

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)] 

我想您需要
itertools.zip\u最长的

>列表1=[1,2,3]
>>>列表2=[1,2,3,4]
>>>进口itertools
>>>列表(itertools.zip_最长(列表1、列表2))
[(1,1)、(2,2)、(3,3)、(无、4)]

我想你需要
itertools.zip\u最长的

>列表1=[1,2,3]
>>>列表2=[1,2,3,4]
>>>进口itertools
>>>列表(itertools.zip_最长(列表1、列表2))
[(1,1)、(2,2)、(3,3)、(无、4)]
这是:

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

for _ in range(len(list2)-len(list1)): list1.append(None)

print(list(zip(list1, list2)))
输出:

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

输出:

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

这回答了你的问题吗?这回答了你的问题吗?