2

所以!

这是一个使用的函数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在这里帮助我吗?

4

1 回答 1

3

使用 lambda:

groupby(..., lambda x: my_normal_function(x, other, arguments))
于 2012-11-01T23:10:19.407 回答