2012-11-01 2 views
1

그래!itertools.groupby에 전달되는 keyfunc에 인수를 전달하려면 어떻게해야합니까?

여기 itertoos.groupby를 사용하는 기능입니다 : 당신이 볼 수 있듯이

, 연속 구분은 단일 문자열로 연결됩니다 다음과 같이

from string import whitespace, punctuation 
from itertools import groupby 

def tokenize(phrase, sepcat=True): 
    separators = dict.fromkeys(whitespace + punctuation, True) 
    return [''.join(g) for k, g in groupby(phrase, separators.get)] 

지금, 출력입니다. 이 동작을 선택적으로 사용하고자합니다 (내 함수에 sepcat 매개 변수로 표시됨). 그러나 이것이 내가로드 블록에 도달 한 곳입니다 ... 어떻게 매개 변수를 separators.get에 전달할 수 있습니까?

functools과 같은 것이 나에게 도움이 될 수 있습니까?

+0

당신은 조리법과 함께 사용하고있는 것을 할 수 없다 - 그 GROUPBY가하는 일입니다 - 일치하는 요소의이 그룹 실행 ... –

답변

2

사용 람다 :

groupby(..., lambda x: my_normal_function(x, other, arguments))