在这段代码中,grouper函数工作正常,但是如果我这样做而不调用函数。它会抛出错误
TypeError: izip_longest argument #1 must support iteration
from itertools import *
def grouper(n, iterable, fillvalue=None):
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
x = [1,2,3]
args = [iter(x)] * 2
l = izip_longest(None , *args )
#l = grouper(2,x)
print [x for x in l]
答案 0 :(得分:3)
所有位置参数都应该是iterables,而不是fillvalue。 Pass fillvalue
as a keyword argument:
it = izip_longest(*iterables, fillvalue=None)
如果fillvalue
是None
;你可以省略它:
it = izip_longest(*iterables)