Remplacer le caractère dans la chaîne à l'index en Python

Vaibhhav Khetarpal 30 janvier 2023
  1. Utiliser le découpage de chaîne pour remplacer un caractère dans une chaîne à un certain index en Python
  2. Utiliser une liste pour remplacer un caractère dans une chaîne à un certain index en Python
  3. Remplacer plus d’un caractère à des indices différents par le même caractère dans tous les cas
  4. Remplacer plus d’un caractère à différents indices par des caractères différents dans tous les cas
Remplacer le caractère dans la chaîne à l'index en Python

Comme nous le savons tous, les chaînes en Python sont immuables, il n’y a donc aucun moyen d’apporter directement des modifications à la chaîne pendant l’exécution du code Python. Cependant, il est nécessaire de le faire dans certains cas, et cela peut être fait indirectement de différentes manières.

Ce tutoriel montre comment remplacer un caractère dans une chaîne à un index spécifique en Python.

Utiliser le découpage de chaîne pour remplacer un caractère dans une chaîne à un certain index en Python

Le découpage de liste est un moyen efficace de résoudre certains des problèmes rencontrés lors du processus de codage. L’opérateur deux points (:) est utilisé pour le processus de découpage de liste. Les détails ou paramètres tels que start, finish, et step peuvent être spécifiés à l’aide de l’opérateur deux points.

Le code suivant utilise le découpage de chaîne pour remplacer un caractère dans une chaîne à un certain index en Python.

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

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

Le code ci-dessus fournit la sortie suivante :

Meatlxaf

Explication:

  • Pour remplacer un seul caractère à la position spécifiée dans la chaîne donnée, trois sections sont créées en divisant la chaîne donnée.
  • La section du milieu ne contient que le caractère qui doit être remplacé. Les première et dernière sections contiennent respectivement les caractères avant et après le caractère sélectionné.
  • Les trois sections sont ensuite réunies à l’aide du simple opérateur +. Cependant, au lieu de la section centrale contenant le caractère sélectionné, le caractère qui doit être remplacé est joint à sa place.

Utiliser une liste pour remplacer un caractère dans une chaîne à un certain index en Python

Une liste est l’un des quatre types de données intégrés fournis par Python, et elle est utilisée pour stocker plusieurs éléments dans une seule variable. Les listes sont ordonnées, modifiables et ont un nombre défini.

Dans cette méthode, la chaîne donnée est d’abord convertie en une liste. Après cela, l’ancien caractère est remplacé par le nouveau caractère à l’index spécifié. Enfin, les éléments de la liste sont convertis en une chaîne à l’aide de la fonction join().

Le code suivant utilise une liste pour remplacer un caractère dans une chaîne à un certain index en Python.

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

Le code ci-dessus fournit la sortie suivante :

Meatloxf

Ces deux méthodes étaient utilisables pour traiter un seul caractère dans une chaîne. Ensuite, nous allons maintenant nous concentrer sur le remplacement des caractères à plusieurs indices spécifiés.

Remplacer plus d’un caractère à des indices différents par le même caractère dans tous les cas

Ici, nous utiliserons des listes. Cette méthode est utilisée lorsqu’il y a quelques indices et que tous les caractères de ces indices multiples doivent être remplacés par un seul caractère.

Pour que cela fonctionne, tous les index de la liste donnée devraient être itérés, et le découpage peut être implémenté pour remplacer chaque index trouvé nécessitant un changement de caractère.

Le code suivant utilise le découpage de liste lorsque nous devons remplacer des caractères à de nombreux indices par un seul caractère.

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

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

print(stra)

Le code ci-dessus fournit la sortie suivante :

Mextxoxf

Remplacer plus d’un caractère à différents indices par des caractères différents dans tous les cas

Dans ce cas, le même caractère n’a pas besoin d’être remplacé dans tous les indices.

Pour cela, nous utiliserons un dictionnaire au lieu d’une liste. Un dictionnaire ressemble beaucoup à une hashmap et stocke les données saisies sous la forme de paires key:value.

Afin de remplacer tous les caractères donnés dans les indices sélectionnés par leur remplacement respectif, itération sur l’ensemble des couples key:value du dictionnaire créé.

Le code suivant remplace les caractères à plusieurs indices par leur remplacement respectif.

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)

Le code ci-dessus fournit la sortie suivante :

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

Article connexe - Python String