SO!
以下是使用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 :(得分:2)
使用lambda:
groupby(..., lambda x: my_normal_function(x, other, arguments))