在 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