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

文字列にすべての一意の文字が含まれているかどうかを確認するPythonプログラム


この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。

問題の説明

sring入力が与えられた場合、文字列にすべての一意の文字が含まれているかどうかを確認する必要があります。

アプローチ

  • ブール値の配列を作成します。ここで、インデックスiの変数フラグは、アルファベットの文字iが文字列に含まれているかどうかを示します。

  • この文字に2回目に遭遇したとき、文字列文字は一意ではなくなったため、すぐにfalseを返すことができます。

  • 文字列の長さがアルファベットに表示される一意の文字数の値を超える場合も、falseを返すことができます。

文字列のサイズを最大256に固定しました

それでは、実装を見てみましょう-

def isUniqueChars(st):
   if len(st) > 256:
      return False
   # Initialization
   char_set = [False] * 128
   # in char_set
   for i in range(0, len(st)):
      # ASCII value
      val = ord(st[i])
      if char_set[val]:
         return False
      char_set[val] = True
   return True
# main
st = "tutorialspoint"
print(isUniqueChars(st))

出力

False

以下の図に示すように、すべての変数はグローバルフレームで宣言されます-

文字列にすべての一意の文字が含まれているかどうかを確認するPythonプログラム

結論

この記事では、文字列にすべての一意の文字が含まれているかどうかを確認する方法について学びました


  1. PythonでUnicode文字列に数字のみが含まれているかどうかを確認するにはどうすればよいですか?

    Unicode文字列に数字のみが含まれているかどうかを確認する場合は、Unicode文字列を確認するためだけに存在する特別なメソッドisnumeric()を使用できます。次のように使用できます- 例 print(u"1234".isnumeric()) print(u"1,a234".isnumeric()) 出力 True False

  2. Pythonで文字列に特定の文字のみが含まれているかどうかを確認するにはどうすればよいですか?

    セットを使用すると、文字列に特定の文字のみが含まれているかどうかを確認できます。許可する文字を使用してセットを宣言します。たとえば、文字列に1、2、3、4のみが含まれているかどうかを確認する場合は、-を使用できます。 例 from sets import Set allowed_chars = Set('1234') validationString = '121' if Set(validationString).issubset(allowed_chars):     print True else:     prin