2013-03-29 2 views
1

이 코드에서는 grouper 함수가 제대로 작동하지만 함수를 호출하지 않으면이 함수를 사용할 수 있습니다. 그것은 오류를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] 

답변

3

모든 위치 인수는 반복 가능 객체가, fillvalue하지해야 발생합니다. Pass fillvalue as a keyword argument :

it = izip_longest(*iterables, fillvalue=None) 

fillvalue 경우가 None이다; 당신은 그것을 생략 할 수 있습니다 :

it = izip_longest(*iterables)