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

Pythonで以前に発生した文字列文字を削除するプログラム


文字列sがあるとします。以前に発生した文字を削除し、縮小された文字列を返す必要があります。これを解決するために、1つの順序付けられた辞書を使用して、文字の挿入順序を維持します。値はそれらの文字の頻度になりますが、頻度の値はここでは重要ではありません。辞書を作成したら、キーを取得して結合するだけで文字列を取得できます。

したがって、入力がs ="cabbbaadac"のような場合、出力は"cabd"になります。

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

  • d:=キーが挿入順で順番に保存される辞書
  • sの各文字cについて、
    • cがdに存在しない場合、
      • d [c]:=0
    • d [c]:=d [c] + 1
  • 適切な順序でキーを次々に結合して、出力文字列を作成して返します。

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

from collections import OrderedDict
def solve(s):
   d = OrderedDict()
   for c in s:
      if c not in d:
         d[c] = 0
      d[c] += 1

   return ''.join(d.keys())

s = "cabbbaadac"
print(solve(s))

入力

"cabbbaadac"

出力

cabd

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

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 sring入力が与えられた場合、文字列にすべての一意の文字が含まれているかどうかを確認する必要があります。 アプローチ ブール値の配列を作成します。ここで、インデックスiの変数フラグは、アルファベットの文字iが文字列に含まれているかどうかを示します。 この文字に2回目に遭遇したとき、文字列文字は一意ではなくなったため、すぐにfalseを返すことができます。 文字列の長さがアルファベットに表示される一意の文字数の値を超える場合も、falseを返すことができます。 文

  2. Pythonで文字列内の文字のリストを削除するにはどうすればよいですか?

    文字列クラスには、文字列内のサブ文字列を置き換えるために使用できるメソッドreplaceがあります。このメソッドを使用して、削除する文字を空の文字列に置き換えることができます。例: >>> "Hello people".replace("e", "") "Hllo popl" 1行の文字列から複数の文字を削除する場合は、正規表現を使用することをお勧めします。複数の文字は「|」で区切ることができますそして、re.sub(chars_to_replace、string_to_replace_with