テキストファイルをトークン化しようとしています。readlines()を使用してテキストファイルで見つかった行のリストを作成し、そのリスト内の各文をループして、re.split()を使用して各文を分割することを計画しています。次に、結果のリストをループして各単語を辞書に追加し、各単語の出現回数をカウントすることを計画しています。ネストされたリストのこの実装は、O(N ^ 2)またはO(N)になりますか?ありがとう。
このコードは、私がどのように実装する予定かの一例にすぎません。
for sentence in list:
result = re.split(sentence)
for word in result:
dictionary[word] += 1
for sentence in list: # n-times (n = length of list)
result = re.split(sentence)
for word in result: # m-times (m = number of words in sentence)
dictionary[word] += 1
したがって、実行時間はn * mまたはn-squaredになります。
カウントの問題を解決するためのより良い方法は、collections.Counterを使用することです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加