Recherche de site Web

Programme Python pour remplacer tous les mots sauf le mot donné


Dans cet article, nous apprendrons comment remplacer tous les mots sauf le mot donné dans une chaîne en python.

Méthodes utilisées

Voici les différentes méthodes pour accomplir cette tâche -

  • Utilisation des fonctions For Loop, split() et join()

  • Utiliser la compréhension de liste

Exemple

Supposons que nous ayons pris une chaîne d'entrée, un mot d'entrée et le caractère d'entrée par lequel remplacer. Nous allons maintenant remplacer tous les mots d'une chaîne d'entrée par le caractère de remplacement d'entrée donné, attendez le mot donné en utilisant les méthodes ci-dessus.

Saisir

inputString = 'hello tutorialspoint python codes'
inputWord = "tutorialspoint"
replaceChar = "@"

Sortir

Replacing all words of string except input word with '@':
@ tutorialspoint @ @

Dans cet exemple, le mot d'entrée donné est "tutorialspoint". Par conséquent, tous les caractères d'une chaîne d'entrée sont remplacés par le symbole « @ », à l'exception du mot donné « tutorialspoint ».

Méthode 1 : Utilisation des fonctions For Loop, split() et join()

join() - join() est une fonction de chaîne en Python utilisée pour joindre des éléments d'une séquence séparés par un séparateur de chaîne. Cette fonction connecte les éléments de séquence à convertir en chaîne.

Fonction split() - divise une chaîne en une liste. Nous pouvons définir le séparateur ; le séparateur par défaut est n'importe quel espace.

Algorithme (étapes)

Voici l’algorithme/les étapes à suivre pour effectuer la tâche souhaitée –.

  • Créez une variable pour stocker la chaîne d'entrée.

  • Imprime la chaîne d'entrée.

  • Créez une autre variable pour stocker le mot d'entrée.

  • Donnez le caractère de remplacement (par lequel être remplacé).

  • Utilisez la fonction split() pour diviser la chaîne d'entrée en liste de mots.

  • Utilisez la boucle for pour parcourir jusqu'à la longueur de la liste de mots à l'aide de la fonction len() (renvoie le nombre d'éléments dans un objet).

  • Récupère l'élément de liste à l'index actuel.

  • Utilisez l'instruction if conditionnelle pour vérifier si l'élément actuel n'est pas égal au mot d'entrée (ici tutorielspoint).

  • Remplacez l'élément actuel par le caractère de remplacement donné si la condition est vraie.

  • Utilisez la fonction join() pour convertir la liste de mots donnée en chaîne.

  • Imprime la chaîne résultante après avoir remplacé tous les mots d'une chaîne d'entrée, à l'exception du mot d'entrée par le caractère de remplacement d'entrée.

Exemple

Le programme suivant remplace tous les mots d'une chaîne d'entrée à l'exception du mot donné par le caractère de remplacement d'entrée (@) à l'aide des fonctions de boucle for, split() et join() –

# input string
inputString = 'hello tutorialspoint python codes'

# printing input string
print("Input String:", inputString)

# input word
inputWord = "tutorialspoint"

# input replacing character (with which to be replaced)
replaceChar = "@"

# splitting input string into the list of words
wordsList = inputString.split(" ")

# traversing till the length of the words list
for index in range(len(wordsList)):

   # getting the list element at current index
   element = wordsList[index]
   
   # checking whether the current element is not equal to the input word(tutorialspoint)
   if not element == inputWord:
      
      # assigning the input replacing character to the current element
      
      # if the condition is true
      wordsList[index] = replaceChar
      
# converting words list to a string using the join() function
resultantString = " ".join(wordsList)

# printing resultant string after replacing all words of the string

# except input word with input replacing character
print("Replacing all words of string except input word with '@':\n", resultantString)

Sortir

Lors de l'exécution, le programme ci-dessus générera la sortie suivante :

Input String: hello tutorialspoint python codes
Replacing all words of string except input word with '@':
@ tutorialspoint @ @

Complexité temporelle − O(n)

Espace auxiliaire − O(n)

Méthode 2 : Utiliser la compréhension de liste

Compréhension de la liste

Lorsque vous souhaitez créer une nouvelle liste basée sur les valeurs d'une liste existante, la compréhension de liste fournit une syntaxe plus courte/concise.

Il s'agit d'une autre méthode pour effectuer cette tâche. Dans cette méthode, nous parcourons les éléments et effectuons la tâche avec une seule ligne ayant des fonctionnalités similaires à celles de la méthode précédente.

Exemple

Le programme suivant remplace tous les mots d'une chaîne d'entrée à l'exception du mot donné par le caractère de remplacement d'entrée (*) en utilisant la compréhension de liste –

# input string
inputString = 'hello tutorialspoint python codes'

# printing input string
print("Input String:", inputString)

# input word
inputWord = "python"

# input replacing character (with which to be replaced)
replaceChar = "*"

# Here we create a new list using list comprehension

# Where if the element(word) is equal to the input word then we add a word to the list

# Else we add replace character to the list
resultantList = [replaceChar if not element == inputWord else element for element in inputString.split()]

# Join the list of words with spaces to make it a string
resultantString = " ".join(resultantList)

# printing resultant string after replacing all words of string

# except input word with input replacing character
print("Replacing all words of string except input word with '*':\n", resultantString)

Sortir

Lors de l'exécution, le programme ci-dessus générera la sortie suivante :

Input String: hello tutorialspoint python codes
Replacing all words of string except input word with '*':
* * python *

Complexité temporelle − O(n)

Espace auxiliaire − O(n)

Conclusion

Nous avons étudié deux méthodes différentes dans cet article pour remplacer tous les mots à l'exception du mot spécifié. Nous avons également appris à utiliser la compréhension de liste pour effectuer n'importe quelle tâche en utilisant une syntaxe simple et concise.

Articles connexes: