Substitua o caractere na string no índice em Python

Vaibhhav Khetarpal 10 outubro 2023
  1. Use a divisão de strings para substituir um caractere em uma string em um determinado índice em Python
  2. Use uma lista para substituir um caractere em uma string em um determinado índice em Python
  3. Substitua mais de um caractere em índices diferentes pelo mesmo caractere em todos os casos
  4. Substitua mais de um caractere em índices diferentes por caracteres diferentes em todos os casos
Substitua o caractere na string no índice em Python

Como todos sabemos, as strings em Python são imutáveis, portanto, não há maneira possível de fazer alterações diretamente na string durante o tempo de execução do código Python. No entanto, é necessário fazer isso em alguns casos e pode ser feito indiretamente de diferentes maneiras.

Este tutorial demonstra como substituir um caractere em uma string em um índice específico em Python.

Use a divisão de strings para substituir um caractere em uma string em um determinado índice em Python

A divisão de listas é uma maneira eficiente de resolver alguns dos problemas encontrados durante o processo de codificação. O operador de dois pontos (:) é utilizado para o processo de divisão da lista. Os detalhes ou parâmetros como start, finish e step podem ser especificados com a ajuda do operador de dois pontos.

O código a seguir usa divisão de string para substituir um caractere em uma string em um determinado índice em Python.

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

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

O código acima fornece a seguinte Resultado:

Meatlxaf

Explicação:

  • Para substituir um único caractere na posição especificada na string fornecida, três seções são feitas dividindo a string fornecida.
  • A seção do meio contém apenas o caractere que precisa ser substituído. A primeira e a última seção contêm os caracteres antes e depois do caractere selecionado, respectivamente.
  • Todas as três seções são então unidas usando o operador + simples. No entanto, em vez da seção intermediária contendo o caractere selecionado, o caractere que precisa ser substituído é unido no lugar dele.

Use uma lista para substituir um caractere em uma string em um determinado índice em Python

Uma lista é um dos quatro tipos de dados integrados que o Python fornece e é utilizada para armazenar vários itens em uma única variável. As listas são ordenadas, alteráveis ​​e têm uma contagem definida.

Nesse método, a string fornecida é primeiro convertida em uma lista. Depois disso, o caractere antigo é substituído pelo novo caractere no índice especificado. Finalmente, os itens da lista são convertidos em uma string usando a função join().

O código a seguir usa uma lista para substituir um caractere em uma string em um determinado índice em Python.

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

O código acima fornece a seguinte Resultado:

Meatloxf

Esses dois eram os métodos que podem ser utilizados para lidar com um único caractere em uma string. Continuando, vamos agora nos concentrar na substituição de caracteres em vários índices especificados.

Substitua mais de um caractere em índices diferentes pelo mesmo caractere em todos os casos

Aqui, faremos uso de Listas. Este método é utilizado quando há alguns índices e todos os caracteres nesses índices múltiplos precisam ser substituídos por um único caractere.

Para que isso funcione, todos os índices na lista fornecida precisam ser iterados, e o fatiamento pode ser implementado para substituir cada índice encontrado que requer uma mudança de caractere.

O código a seguir usa divisão de lista para quando precisamos substituir caracteres em muitos índices por um único caractere.

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

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

print(stra)

O código acima fornece a seguinte Resultado:

Mextxoxf

Substitua mais de um caractere em índices diferentes por caracteres diferentes em todos os casos

Nesse caso, o mesmo caractere não precisa ser substituído em todos os índices.

Para tanto, faremos uso de um dicionário em vez de uma lista. Um dicionário é muito semelhante a um hashmap e armazena os dados inseridos na forma de pares chave: valor.

Para substituir todos os caracteres dados nos índices selecionados com sua respectiva substituição, iteração em todos os pares chave: valor do dicionário criado.

O código a seguir substitui caracteres em vários índices por sua respectiva substituição.

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)

O código acima fornece a seguinte 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

Artigo relacionado - Python String