これを行うためのよりpythonicまたは代替の方法があるかどうか疑問に思っていました。累積関数の結果を比較したい。各関数は前の出力を変更します。各関数の後で、その効果を確認したいと思います。メイン関数を実行した後に実際の結果を得るには、何かを計算する最後の関数が 1 つ必要であることに注意してください。コードでは、次のようになります (疑似コードのようなものです)。
for textfile in path:
data = doStuff1(textfile)
calculateandPrint()
for textfile in path:
data = doStuff1(textfile)
data = doStuff2(data )
calculateandPrint()
for textfile in path:
data = doStuff1(textfile)
data = doStuff2(data )
data = doStuff3(data )
calculateandPrint()
ご覧のとおり、n
関数には1/2(n(n+1))
手動でループを作成する必要があります。私が言ったように、コードをクリーンアップし、より多くの関数を追加したときにコードをより短く、管理しやすくする、よりPython的なもの(たとえば、関数のリスト?)はありますか?
実際のコード。documents
はカスタム オブジェクトです。
for doc in documents:
doc.list_strippedtext = prepareData(doc.text)
bow = createBOW(documents)
for doc in documents:
doc.list_strippedtext = prepareData(doc.text)
doc.list_strippedtext = preprocess(doc.list_strippedtext)
bow = createBOW(documents)
for doc in documents:
doc.list_strippedtext = prepareData(doc.text)
doc.list_strippedtext = preprocess(doc.list_strippedtext)
doc.list_strippedtext = abbreviations(doc.list_strippedtext)
bow = createBOW(documents)
これはほんの一部ですが、さらに機能を追加する必要があります。