¿Cuál es la forma más fácil en Python de reemplazar un carácter en una cadena?
Por ejemplo:
text = "abcdefg";
text[1] = "Z";
^
No modifiques las cadenas.
Trabaje con ellas como listas; conviértalas en cadenas sólo cuando sea necesario.
>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
Las cadenas de Python son inmutables (es decir, no pueden ser modificadas). Hay muchas razones para esto. Usa listas hasta que no tengas otra opción, sólo entonces conviértelas en cadenas.
new = text[:1] + 'Z' + text[2:]
Las cadenas de Python son inmutables, las cambias haciendo una copia.
La forma más fácil de hacer lo que quieres es probablemente.
text = "Z" + text[1:]
El texto[1:] devuelve la cadena en el texto desde la posición 1 hasta el final, las posiciones cuentan desde 0 por lo que '1' es el segundo carácter.
editar: Puedes utilizar la misma técnica de corte de cadena para cualquier parte de la cadena
text = text[:1] + "Z" + text[2:]
O si la letra sólo aparece una vez puedes usar la técnica de buscar y reemplazar sugerida abajo