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

Pythonの別の文字列に複数の文字列が存在するかどうかを確認するにはどうすればよいですか?


配列内の文字列のいずれかが別の文字列に存在するかどうかを確認するには、any関数を使用できます。

arr = ['a', 'e', 'i', 'o', 'u']
str = "hello people"
if any(c in str for c in arr):
    print "Found a match"

出力

これにより、出力が得られます:

Found a match

やり過ぎですが、正規表現を使用して配列を照合することもできます。例:

import re
arr = ['a', 'e', 'i', 'o', 'u']
str = "hello people"
if any(re.findall('|'.join(arr), str)):
    print 'Found a match'

出力

これにより、出力が得られます:

Found a match

  1. Pythonで1つの文字列を別の文字列に変換できるかどうかを確認します

    2つの文字列sとtがあり、tが大文字であるとします。次の操作を実行して、sをtに変換できるかどうかを確認する必要があります。 いくつかの小文字を大文字に変換します。 すべての小文字を削除します。 したがって、入力がs =fanToM、t =TOMの場合、oをOに変更し、sから他のすべての小文字を削除してtにすることができるため、出力はTrueになります。 これを解決するには、次の手順に従います- n:=sのサイズ、m:=tのサイズ dp:=サイズ(m + 1)x(n + 1)の行列で、Falseで埋めます dp [0、0]:=True 範囲0からs-1のサイズのiの場合、do

  2. PythonでDFAを使用して、バイナリ文字列が3の倍数であるかどうかを確認します

    任意の数のバイナリ表現を表す配列nがあるとします。 Deterministic Finite Automata DFAを使用して、そのバイナリ表現が3で割り切れるかどうかを確認する必要があります。 したがって、入力がn =[1、1、0、0](12のバイナリ)のような場合、出力はTrueになります。 これを解決するために、以下のようにDFAを構築できます- 数値が3で割り切れる場合、余りは0になり、そうでない場合、余りは1または2になります。これらの3つの余りには、3つの状態があります。余りが0の場合、数値が除算可能であることを意味するため、初期状態も最終状態です。 これを解決する