話者、動詞、および引用の識別のためにテキストを反復処理する有限状態マシンを作成しています。すべて順調に進んでいますが、辞書が思うように機能しないことに不満を感じています。関数ポインターとintの両方を値として持つ、このような辞書を使用したい:
chars = ['a','b','c']
whatever = ['cheese']
state = 0
def function():
# don't know what's going on, ask user to check
transitions = {
0: {chars: 1, whatever: 2, '“': 4},
1: {chars: 3, '“': function},
etc.
}
for item in data:
for transition in transitions[state]:
if item in transition or transition in item:
state = transitions[state][item]
ただし、このコードは、見つかった場合でも関数を呼び出しません。または、関数を呼び出すと、int の呼び出しでエラーが発生します。
PSライブラリなどを使用するつもりはありません。