Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのリストから入力文字列のすべての近い一致を検索します


単語が与えられ、それに最も近いものを見つけたいとします。完全に一致するわけではありませんが、特定の単語とパターンが似ている他の単語。このために、difflibというモジュールを使用し、get_close_matchesという名前のメソッドを使用します。

get_close_matches

このメソッドはモジュールdifflibの一部であり、指定した可能なパターンとの一致を提供します。以下は構文です。

difflib.get_close_matches(word, possibilities, n, cutoff)
word: It is the word to which we need to find the match.
Possibilities: This is the patterns which will be compared for matching.
n: Maximum number of close matches to return. Should be greater than 0.
Cutoff: The possibilities that do not score this float value between 0 and 1 are ignored.

上記のコードを実行すると、次の結果が得られます-

以下の例では、単語と、比較する必要のある可能性またはパターンのリストを取り上げます。次に、このメソッドを適用して、必要な結果を取得します。

from difflib import get_close_matches

word = 'banana'
patterns = ['ana', 'nana', 'ban', 'ran','tan']

print('matched words:',get_close_matches(word, patterns))

出力

上記のコードを実行すると、次の結果が得られます-

matched words: ['nana', 'ban', 'ana']

  1. Pythonを使用して文字列からすべての重複文字を検索する

    1つの文字列が与えられます。私たちのタスクは、指定された文字列内で頻度が複数の文字を見つけることです。 例として、「HelloWorld」という文字列を見ることができます。 Pythonを学びましょう」と言うと、アルゴリズムは複数回出現する文字を検出します。この場合、出力は次のようになります- e : 3 l : 4 o , 3) <space> : 4 r : 2 t : 2 n : 2 この問題を実装するために、Pythonコレクションを使用しています。コレクションから、Counter()メソッドを取得できます。 Counter()メソッドは、ハッシュテーブルオブジェ

  2. リストからPython文字列を作成するにはどうすればよいですか?

    Pythonには、要素間にセパレータを挿入してシーケンスオブジェクト内の要素を結合することで文字列を返すjoin()関数が組み込まれています。区切り文字のない文字列が必要な場合は、null文字列で初期化します >>> lst=['h','e','l','l','o'] >>> str='' >>> str.join(lst) 'hello'