在 Python 中的索引處替換字串中的字元
- Python 中使用字串切片替換字串中某個索引處的字元
- 在 Python 中使用列表替換字串中某個索引處的字元
- 在所有情況下將不同索引處的多個字元替換為相同字元
- 在所有情況下用不同的字元替換不同索引處的多個字元
眾所周知,Python 中的字串是不可變的,因此無法在 Python 程式碼執行時直接對字串進行更改。但是,在某些情況下需要這樣做,並且可以通過不同的方式間接完成。
本教程演示瞭如何在 Python 中的特定索引處替換字串中的字元。
Python 中使用字串切片替換字串中某個索引處的字元
列表切片是解決編碼過程中遇到的一些問題的有效方法。冒號 (:
) 運算子用於列表切片過程。可以在冒號運算子的幫助下指定詳細資訊或引數,例如 start
、finish
和 step
。
以下程式碼使用字串切片來替換 Python 中某個索引處的字串中的字元。
stra = 'Meatloaf'
posn = 5
nc = 'x'
stra = string[:posn] + nc + string[posn+1:]
print(stra)
上面的程式碼提供了以下輸出:
Meatlxaf
解釋:
- 要替換給定字串中指定位置的單個字元,通過拆分給定字串構成三個部分。
- 中間部分只包含需要替換的字元。第一部分和最後一部分分別包含所選字元之前和之後的字元。
- 然後使用簡單的
+
運算子將所有三個部分連線在一起。但是,不是包含所選字元的中間部分,而是連線需要替換的字元來代替它。
在 Python 中使用列表替換字串中某個索引處的字元
列表是 Python 提供的四種內建資料型別之一,它用於在單個變數中儲存多個專案。列表是有序的、可變的,並且有確定的數量。
在這個方法中,給定的字串首先被轉換成一個列表。之後,舊字元被指定索引處的新字元替換。最後,使用 join()
函式將列表項轉換為字串。
以下程式碼使用列表替換 Python 中某個索引處的字串中的字元。
stra = 'Meatloaf'
posn = 6
nc = 'x'
tmp = list(stra)
tmp[posn] = nc
stra = "".join(tmp)
print(stra)
上面的程式碼提供了以下輸出:
Meatloxf
這兩種方法可用於處理字串中的單個字元。繼續,我們現在將專注於替換多個指定索引處的字元。
在所有情況下將不同索引處的多個字元替換為相同字元
在這裡,我們將使用列表。當索引很少,並且需要將這些多個索引處的所有字元都替換為單個字元時,使用此方法。
為此,需要迭代給定列表中的所有索引,並且可以實現切片以替換每個找到的需要更改字元的索引。
當我們需要用單個字元替換多個索引處的字元時,以下程式碼使用列表切片。
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 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