拆分python列表而不调用itertools的grouper函数但得到错误

时间:2013-03-29 20:56:10

标签: python list itertools

在这段代码中,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]

1 个答案:

答案 0 :(得分:3)

所有位置参数都应该是iterables,而不是fillvalue。 Pass fillvalue as a keyword argument

it = izip_longest(*iterables, fillvalue=None)

如果fillvalueNone;你可以省略它:

it = izip_longest(*iterables)