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

Pythonの文字列の最初の一意の文字


文字列があり、文字列内の最初の一意の文字を検索する必要があるとします。したがって、文字列が「人」のようなものである場合、出現する最初の文字は「o」です。したがって、インデックスが返されます。ここでは2です。そのような文字がない場合は、-1を返します。

これを解決するには、次の手順に従います-

  • 1つの頻度マップを作成する
  • 文字列内の文字cごとに、
      を実行します。
    • cが頻度にない場合は、それを頻度に挿入し、値1を入力します
    • それ以外の場合は、頻度のカウントを増やします
  • 頻度マップをスキャンします。特定のキーの値が1の場合はそのキーを返し、そうでない場合は-1を返します。

理解を深めるために、次の実装を見てみましょう-

class Solution(object):
   def firstUniqChar(self, s):
      """
      :type s: str
      :rtype: int
      """
      frequency = {}
      for i in s:
         if i not in frequency:
            frequency[i] = 1
         else:
            frequency[i] +=1
      for i in range(len(s)):
         if frequency[s[i]] == 1:
            return i
      return -1
ob1 = Solution()
print(ob1.firstUniqChar("people"))
print(ob1.firstUniqChar("abaabba"))

入力

"people"
"abaabba"

出力

2
-1

  1. Pythonの文字列の各文字の頻度

    テキスト処理は、機械学習とAIの重要な分野として浮上しています。 Pythonは、多くの利用可能なツールとライブラリでこのファイルをサポートしています。この記事では、特定の文字列の各文字の出現回数を見つける方法を説明します。 カウンター付き Counterメソッドは、反復可能要素内の要素の出現回数をカウントします。したがって、必要な文字列を渡すことで簡単に使用できます。 例 from collections import Counter # Given string strA = "timeofeffort" print("Given String: &quo

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

    このチュートリアルでは、文字列に特殊文字が含まれているかどうかをチェックするプログラムを作成します。 Pythonでは簡単です。 文字列には特殊文字のセットが含まれます モジュール。これを使用して、文字列に特殊文字が含まれているかどうかを確認できます。プログラムを書く手順を見てみましょう。 文字列をインポートします モジュール。 string.punctuationの特殊文字を保存します 変数内。 文字列を初期化します。 マップ機能を使用して、文字列に特殊文字が含まれているかどうかを確認してください。 有効かどうかにかかわらず、結果を印刷します。 例 #