ホームページ >バックエンド開発 >Python チュートリアル >Python の len 関数を使用してテキスト内の単語数をカウントする例

Python の len 関数を使用してテキスト内の単語数をカウントする例

PHPz
PHPzオリジナル
2024-01-13 14:17:051335ブラウズ

Python の len 関数を使用してテキスト内の単語数をカウントする例

Python での len 関数の応用例: テキスト内の単語数をカウントするために使用する方法

Python プログラミングでは、len 関数は非常に便利な関数です。 . オブジェクトの長さまたは要素の数を返すために使用されます。この記事では、len関数を使ってテキスト内の単語数をカウントする方法と具体的なコード例を紹介します。

コードを書き始める前に、単語の定義方法を理解する必要があります。この記事では、単語の区切り文字としてスペースを使用します。つまり、2 つのスペースの間にある文字列はすべて単語とみなされます。

以下は、len 関数を使用してテキスト内の単語数をカウントする方法を示す簡単なコード例です。

def count_words(text):
    word_count = len(text.split())
    return word_count

text = "Python是一种简单易学但功能强大的编程语言。它被广泛应用于各种领域,包括软件开发、数据分析和人工智能等。"

word_count = count_words(text)
print("文本中的单词数量为:", word_count)

上記のコードでは、count_words という名前の関数が最初に定義されています。文字列パラメータテキストを受け取ります。関数の実装アイデアは、split メソッドを通じてテキスト文字列 text を 1 つずつ単語に分割し、len 関数を使用して単語リストの長さ、つまり単語数を取得することです。最後に単語数が返されます。

サンプル コードでは、複数の文を含むテキストを変数 text に代入し、count_words 関数を呼び出してテキスト内の単語数をカウントし、結果を出力します。

上記のコードを実行すると、出力テキストの単語数は 17 になります。これは、テキスト内に 17 個のスペースで区切られた文字列があり、17 個の単語を構成しているためです。

もちろん、実際のアプリケーションでは、句読点や改行の削除など、テキストに対して何らかの前処理を実行する必要がある場合があります。以下は、単語数をカウントする前にテキストを前処理する方法を示す改良されたコード例です:

import re

def count_words(text):
    text = re.sub(r'[^ws]', '', text)  # 去除标点符号
    text = text.replace('
', '')  # 去除换行符
    word_count = len(text.split())
    return word_count

text = """Python是一种简单易学但功能强大的编程语言。
它被广泛应用于各种领域,包括软件开发、数据分析和人工智能等。"""

word_count = count_words(text)
print("文本中的单词数量为:", word_count)

改良されたコードでは、最初に、re.sub メソッドを使用して、すべての句読点を正規表現に置き換えました。 。次に、.replace メソッドを使用して改行を削除しました。最後に、前の方法に従って単語数を数えます。

改善されたコードを実行すると、出力テキストの単語数は 18 になります。句読点と改行を削除することでテキストが整理され、より正確な単語数が得られました。

要約すると、上記は、len 関数を使用してテキスト内の単語数をカウントし、split メソッドで文字列を単語に分割し、len 関数を使用してテキストの長さを取得する例です。単語リスト。実際のアプリケーションでは、必要に応じてテキストの前処理を実行して、より正確な結果を得ることができます。この記事が len 関数の理解と使用に役立つことを願っています。

以上がPython の len 関数を使用してテキスト内の単語数をカウントする例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。