Python のインデックスで文字列の文字を置き換える

Vaibhhav Khetarpal 2023年1月30日
  1. 文字列スライスを使用して、Python の特定のインデックスにある文字列の文字を置き換える
  2. Python の特定のインデックスでリストを使用して文字列内の文字を置き換える
  3. 異なるインデックスの複数の文字をすべての場合で同じ文字に置き換える
  4. すべての場合において、異なるインデックスの複数の文字を異なる文字に置き換える
Python のインデックスで文字列の文字を置き換える

ご存知のとおり、Python の文字列は不変であるため、Python コードの実行時に文字列に直接変更を加える方法はありません。ただし、場合によってはこれを行う必要があり、さまざまな方法で間接的に行うことができます。

このチュートリアルでは、Python の特定のインデックスで文字列内の文字を置き換える方法を示します。

文字列スライスを使用して、Python の特定のインデックスにある文字列の文字を置き換える

リストスライスは、コーディングプロセス中に発生する問題のいくつかを解決するための効率的な方法です。コロン(:)演算子は、リストのスライスプロセスに使用されます。startfinishstep などの詳細またはパラメーターは、コロン演算子を使用して指定できます。

次のコードは、文字列スライスを使用して、Python の特定のインデックスにある文字列の文字を置き換えます。

stra = "Meatloaf"
posn = 5
nc = "x"

stra = string[:posn] + nc + string[posn + 1 :]
print(stra)

上記のコードは、次の出力を提供します。

Meatlxaf

説明:

  • 指定された文字列の指定された位置にある単一の文字を置き換えるために、指定された文字列を分割することによって 3つのセクションが作成されます。
  • 中央のセクションには、置き換える必要のある文字のみが含まれています。最初と最後のセクションには、それぞれ、選択した文字の前後の文字が含まれています。
  • 次に、単純な+ 演算子を使用して、3つのセクションすべてを結合します。ただし、選択した文字を含む中央のセクションの代わりに、置き換える必要のある文字が代わりに結合されます。

Python の特定のインデックスでリストを使用して文字列内の文字を置き換える

リストは、Python が提供する 4つの組み込みデータ型の 1つであり、単一の変数に複数のアイテムをストックするために使用されます。リストは順序付けられ、変更可能であり、明確な数があります。

このメソッドでは、指定された文字列が最初にリストに変換されます。その後、指定されたインデックスで古い文字が新しい文字に置き換えられます。最後に、リスト項目は join() 関数を使用して文字列に変換されます。

次のコードは、リストを使用して、Python の特定のインデックスにある文字列の文字を置き換えます。

stra = "Meatloaf"
posn = 6
nc = "x"
tmp = list(stra)
tmp[posn] = nc
stra = "".join(tmp)
print(stra)

上記のコードは、次の出力を提供します。

Meatloxf

これら 2つは、文字列内の 1 文字を処理するために利用できる方法でした。次に、指定された複数のインデックスの文字を置き換えることに焦点を当てます。

異なるインデックスの複数の文字をすべての場合で同じ文字に置き換える

ここでは、リストを利用します。この方法は、インデックスが少なく、これらの複数のインデックスのすべての文字を 1つの文字に置き換える必要がある場合に使用されます。

これが機能するためには、指定されたリスト内のすべてのインデックスを繰り返す必要があり、文字の変更が必要な見つかった各インデックスを置き換えるためにスライスを実装できます。

次のコードでは、多くのインデックスの文字を 1つの文字に置き換える必要がある場合に、リストスライスを使用しています。

stra = "Meatloaf"
loi = [2, 4, 6]
nc = "x"
res = ""

for i in loi:
    stra = stra[:i] + nc + stra[i + 1 :]

print(stra)

上記のコードは、次の出力を提供します。

Mextxoxf

すべての場合において、異なるインデックスの複数の文字を異なる文字に置き換える

この場合、すべてのインデックスで同じ文字を置き換える必要はありません。

この目的のために、リストの代わりに辞書を使用します。辞書は hashmap によく似ており、入力されたデータを key:value ペアの形式で保存します。

選択したインデックスで指定されたすべての文字をそれぞれの置換で置き換えるには、作成された辞書の key:value ペア全体を繰り返します。

次のコードは、複数のインデックスの文字をそれぞれの置換で置き換えます。

stra = "Meatloaf"
cr = {1: "x", 3: "c", 5: "w"}

res = ""

for index, replacement in cr.items():
    stra = stra[:index] + cr[index] + stra[index + 1 :]

print(stra)

上記のコードは、次の出力を提供します。

Mextcowf
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python String