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)]

現在、出力は次のようになります。

ご覧のとおり、連続する区切り記号は 1 つの文字列に連結されます。この動作をオプションにしたいのですが (関数へのパラメーターで示されるようにsepcat)、ここで障害にぶつかります... にパラメーターを渡すにはどうすればよいseparators.getですか?

functoolsここで私を助けることができますか?

4

1 に答える 1

3

ラムダを使用します。

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