Reemplazar carácter en cadena en el índice en Python

Vaibhhav Khetarpal 10 octubre 2023
  1. Use String Slicing para reemplazar un carácter en una cadena en un índice determinado en Python
  2. Use una lista para reemplazar un carácter en una cadena en un índice determinado en Python
  3. Reemplazar más de un carácter en diferentes índices con el mismo carácter en todos los casos
  4. Reemplazar más de un carácter en diferentes índices con diferentes caracteres en todos los casos
Reemplazar carácter en cadena en el índice en Python

Como todos sabemos, las cadenas en Python son inmutables, por lo que no hay forma posible de realizar cambios directamente en la cadena durante el tiempo de ejecución del código Python. Sin embargo, existe la necesidad de hacer esto en algunos casos y se puede hacer indirectamente de diferentes maneras.

Este tutorial demuestra cómo reemplazar un carácter en una cadena en un índice específico en Python.

Use String Slicing para reemplazar un carácter en una cadena en un índice determinado en Python

La división de listas es una forma eficaz de resolver algunos de los problemas encontrados durante el proceso de codificación. El operador de dos puntos (:) se utiliza para el proceso de división de la lista. Los detalles o parámetros como start, finish y step se pueden especificar con la ayuda del operador de dos puntos.

El siguiente código usa la división de cadenas para reemplazar un carácter en una cadena en un índice determinado en Python.

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

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

El código anterior proporciona el siguiente Resultado:

Meatlxaf

Explicación:

  • Para reemplazar un solo carácter en la posición especificada en la cadena dada, se hacen tres secciones dividiendo la cadena dada.
  • La sección central contiene solo el personaje que necesita ser reemplazado. La primera y la última sección contienen los caracteres antes y después del carácter seleccionado, respectivamente.
  • A continuación, se unen las tres secciones mediante el simple operador +. Sin embargo, en lugar de la sección central que contiene el personaje seleccionado, el personaje que necesita ser reemplazado se une en su lugar.

Use una lista para reemplazar un carácter en una cadena en un índice determinado en Python

Una lista es uno de los cuatro tipos de datos integrados que proporciona Python y se utiliza para almacenar varios elementos en una sola variable. Las listas están ordenadas, se pueden cambiar y tienen un recuento definido.

En este método, la cadena dada se convierte primero en una lista. Después de eso, el carácter antiguo se reemplaza por el nuevo carácter en el índice especificado. Finalmente, los elementos de la lista se convierten en una cadena usando la función join().

El siguiente código usa una lista para reemplazar un carácter en una cadena en un índice determinado en Python.

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

El código anterior proporciona el siguiente Resultado:

Meatloxf

Estos dos fueron los métodos que se pueden utilizar para tratar con un solo carácter en una cadena. Continuando, ahora nos centraremos en reemplazar caracteres en múltiples índices especificados.

Reemplazar más de un carácter en diferentes índices con el mismo carácter en todos los casos

Aquí, haremos uso de Listas. Este método se utiliza cuando hay algunos índices y todos los caracteres de estos índices múltiples deben reemplazarse por un solo carácter.

Para que esto funcione, es necesario iterar todos los índices de la lista dada, y se puede implementar la división para reemplazar cada índice encontrado que requiera un cambio de carácter.

El siguiente código usa la división de listas para cuando necesitamos reemplazar caracteres en muchos índices con un solo carácter.

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

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

print(stra)

El código anterior proporciona el siguiente Resultado:

Mextxoxf

Reemplazar más de un carácter en diferentes índices con diferentes caracteres en todos los casos

En este caso, no es necesario reemplazar el mismo carácter en todos los índices.

Para ello, utilizaremos un diccionario en lugar de una lista. Un diccionario es muy similar a un hashmap y almacena los datos introducidos en forma de pares clave: valor.

Para reemplazar todos los caracteres dados en los índices seleccionados con su respectivo reemplazo, iteración en todos los pares clave: valor del diccionario creado.

El siguiente código reemplaza caracteres en múltiples índices con su respectivo reemplazo.

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)

El código anterior proporciona el siguiente Resultado:

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

Artículo relacionado - Python String