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

Pythonでタプル内の文字列から共通する単語を抽出する方法

タプルに格納された複数の文字列の中から共通する単語を見つけたい場合、「join」メソッド、「set」型、「&」演算子、そして「split」メソッドを組み合わせて使用します。

まず、それぞれの機能について簡単に確認しておきましょう。

使用するメソッドと演算子

joinメソッド

「join」メソッドは、特定の区切り文字を基準にして複数の値を1つの文字列に連結するために使用します。

set型(集合)

Pythonには「set(集合)」と呼ばれるデータ型が標準で用意されています。setには重複しない一意の要素のみが格納されます。また、積集合(共通部分)、差集合、和集合、対称差などの集合演算を行う際に非常に便利です。

splitメソッド

「split」メソッドは、指定した区切り文字に基づいて、与えられた文字列データを複数の要素に分割します。区切り文字を省略した場合は、空白文字が自動的に区切りとして扱われます。

&演算子

「&」演算子は、setに対して使用すると、両方の集合に存在する共通の要素だけを抽出するAND演算(積集合)を実行します。

サンプルコード

以下に、実際の実装例を示します。

my_tuple_1 = ('Hi there', 'Hi Will,', 'Hi ', 'Hi there')

print("The tuple is : ")
print(my_tuple_1)

my_result = ", ".join(sorted(set(my_tuple_1[0].split()) & set(my_tuple_1[1].split()) &
    set(my_tuple_1[2].split())))
      
print("Common words among the tuples are : ")
print(my_result)

実行結果

The tuple is :
('Hi there', 'Hi Will,', 'Hi ', 'Hi there')
Common words among the tuples are :
Hi

コードの解説

  • まず、複数の文字列を含むタプルを定義し、コンソールに表示します。
  • 「split」メソッドを使用して、タプルの各文字列を空白文字で分割し、set型に変換することで単語の一意なリストを作成します。
  • 「&」演算子によって、複数のsetの間で共通する単語(積集合)を求めます。
  • その結果を「sorted」メソッドでソートし、「join」メソッドでカンマ区切りの1つの文字列に連結します。
  • 最終的な結果は変数に代入され、コンソールに出力されます。

この例では、タプルの最初の3つの要素を比較しているため、結果としてすべての文字列に共通して含まれる単語「Hi」が出力されています。この手法を応用すれば、任意の数の文字列から共通キーワードを簡単に抽出できます。

  1. 【Python入門】2つの文字列から珍しい単語(ユニークな単語)を見つけるプログラムの作り方

    はじめに この記事では、以下の問題文に対する解決方法を、実際のコード例とともにわかりやすく解説します。 問題文 2つの文字列が与えられたとき、その中から「珍しい単語」(どちらか一方の文字列にしか出現しない単語)をすべて抽出することを目標とします。両方の文字列に共通して含まれる単語は除外します。 解決のアプローチ ここでは辞書(dict)を使った出現回数のカウント方式を採用します。手順は次のとおりです。 空の辞書を用意する 各文字列をsplit()で単語ごとに分割する 各単語の出現回数を辞書に記録する 出現回数がちょうど1回の単語だけを結果として返す 実装例 # 珍しい単語を見つける関

  2. Pythonで文字列を単語のリストに変換する方法

    文字列を単語のリストに変換したい場合は、空白文字を基準に文字列を分割するだけで実現できます。最もシンプルな方法は、文字列クラスが標準で提供している split() メソッドを使うことです。このメソッドのデフォルトの区切り文字は空白であり、文字列に対して呼び出すと、空白文字の位置で自動的に分割してくれます。split()メソッドを使う方法引数を指定せずに split() を呼び出すだけで、連続する空白もまとめて処理され、単語ごとのリストが返されます。コード例>>> Please split this string.split() [Please, split, this, st