Python itertools链:可以用None填充较短的iterable
使用Python itertools链:可以用None填充较短的iterable,python,itertools,chain,Python,Itertools,Chain,使用itertools.chain方法展平列表时,如下所示: list(itertools.chain(*zip(itr1,itr2))) 是否可以在较短的iterable中填充None,例如itertools.imap?因此,我不会以以下方式结束: In [1]: a = [1] In [2]: b=[] In [3]: list(itertools.chain(*zip(a,b))) Out[3]: [] 使用,将默认值传递给fillvalue参数 演示: fillvalue的默认值
itertools.chain
方法展平列表时,如下所示:
list(itertools.chain(*zip(itr1,itr2)))
是否可以在较短的iterable中填充None,例如itertools.imap
?因此,我不会以以下方式结束:
In [1]: a = [1]
In [2]: b=[]
In [3]: list(itertools.chain(*zip(a,b)))
Out[3]: []
使用,将默认值传递给fillvalue
参数
演示:
fillvalue
的默认值为None
使用,将默认值传递给fillvalue
参数
演示:
fillvalue
的默认值是None
您到底想实现什么?如果您正在配对项目,但没有匹配对,那么fillvalue实际上可以吗?根据您的示例,您是想要[1,无]
还是更喜欢[1]
?这是可以的,但这里不详细介绍。假设我需要这个数据结构的算法不是最漂亮的。你到底想实现什么?如果您正在配对项目,但没有匹配对,那么fillvalue实际上可以吗?根据您的示例,您是想要[1,无]
还是更喜欢[1]
?这是可以的,但这里不详细介绍。让我们假设我需要这个数据结构的算法不是最漂亮的。
In [1]: from itertools import chain, izip_longest
In [2]: a = [1]
In [3]: b = []
In [5]: list(chain(*izip_longest(a, b, fillvalue='foo')))
Out[5]: [1, 'foo']