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

Python-与えられた単語が文のリストに一緒に表示されるかどうかを確認します


要素として小さな文を含むリストがあるとします。最初のリストのこの文で使用されている単語のいくつかを含む別のリストがあります。 2番目のリストの2つの単語が、最初のリストの一部の文に一緒に存在するかどうかを調べたいと思います。

追加およびforループあり

文のリストに単語が含まれているかどうかを確認するために、in条件でforループを使用します。次に、len関数を使用して、リストの最後に到達したかどうかを確認します。

list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
list_wrd = ['Eggs', 'Fruits']

print("Given list of sentences: \n",list_sen)
print("Given list of words: \n",list_wrd)

res = []
for x in list_sen:
   k = [w for w in list_wrd if w in x]
   if (len(k) == len(list_wrd)):
      res.append(x)
print(res)

出力

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

Given list of sentences:
['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
Given list of words:
['Eggs', 'Fruits']
['Eggs and Fruits on Wednesday']

すべてで

ここでは、単語が文を含むリストに存在するかどうかを確認するためのforループを設計し、すべての関数を適用して、実際にすべての単語が文に存在することを確認します。

list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
list_wrd = ['Eggs', 'Fruits']

print("Given list of sentences: \n",list_sen)
print("Given list of words: \n",list_wrd)

res = [all([k in s for k in list_wrd]) for s in list_sen]
print("\nThe sentence containing the words:")
print([list_sen[i] for i in range(0, len(res)) if res[i]])

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

出力

Given list of sentences:
['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
Given list of words:
['Eggs', 'Fruits']

The sentence containing the words:
['Eggs and Fruits on Wednesday']

ラムダとマップを使用

上記と同様のアプローチをとることができますが、ラムダ関数とマップ関数を使用します。また、分割関数を使用して、リスト内の指定されたすべての単語が文で使用可能かどうかを確認します。 map関数は、このロジックをリストの各要素に再度適用するために使用されます。

list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
list_wrd = ['Eggs', 'Fruits']

print("Given list of sentences: \n",list_sen)
print("Given list of words: \n",list_wrd)

res = list(map(lambda i: all(map(lambda j:j in i.split(),
list_wrd)), list_sen))

print("\nThe sentence containing the words:")
print([list_sen[i] for i in range(0, len(res)) if res[i]])

出力

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

Given list of sentences:
['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
Given list of words:
['Eggs', 'Fruits']

The sentence containing the words:
['Eggs and Fruits on Wednesday']

  1. Pythonのリストの特定のリストにリストが存在するかどうかを確認します

    リストはネストできます。つまり、リストの要素自体がリストです。この記事では、特定のリストが外側の大きなリストの要素として存在するかどうかを確認する方法を説明します。 内で これは非常に単純で簡単な方法です。 in句は、内側のリストが大きなリストの要素として存在するかどうかを確認するためだけに使用します。 例 listA = [[-9, -1, 3], [11, -8],[-4,434,0]] search_list = [-4,434,0] # Given list print("Given List :\n", listA) print("list to S

  2. Pythonで特定の文字列の単語を逆にする

    文字列が与えられ、文字列に存在するすべての単語を逆にすることが目標です。分割法と逆関数を使用して出力を実現できます。いくつかのサンプルテストケースを見てみましょう。 Input: string = "I am a python programmer" Output: programmer python a am I Input: string = "tutorialspoint is a educational website" Output: website educational a is tutorialspoint 以下の手順に従って、目