Python – Reemplazo aleatorio de Word en String

Dada una string y una Lista, reemplace cada ocurrencia de K palabra en la string con un elemento aleatorio de la lista. 

Entrada : test_str = “Gfg es x. También es x para geeks”, repl_list = [“Bueno”, “Mejor”, “Mejor”], repl_word = “x”
Salida : Gfg es Mejor. También es mejor para los geeks .
Explicación : x se reemplaza por valores de lista de reemplazo aleatorios.

Entrada : test_str = “Gfg es x. También es x para geeks”, repl_list = [“Bueno”, “Mejor”, “Agradable”], repl_word = “x”
Salida : Gfg es mejor. También es bueno para los geeks .
Explicación : x se reemplaza por valores de lista de reemplazo aleatorios, «Mejor» y «Agradable».

Método #1: Usando shuffle() + loop + replace()

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, reemplazamos cada ocurrencia de la palabra K con una string aleatoria de la lista usando replace().

Python3

# Python3 code to demonstrate working of 
# Random Replacement of Word in String
# Using replace() + shuffle() + loop
from random import shuffle
  
# initializing string
test_str = "Gfg is val. Its also val for geeks"
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing list 
repl_list = ["Good", "Better", "Best"]
  
# initializing replace word
repl_word = "val"
  
# shuffing list order
shuffle(repl_list)
for ele in repl_list:
      
    # replacing with random string 
    test_str = test_str.replace(repl_word, ele, 1)
      
# printing result 
print("String after random replacement : " + str(test_str)) 
Producción

The original string is : Gfg is val. Its also val for geeks
String after random replacement : Gfg is Best. Its also Better for geeks

Método n.° 2: Usar la comprensión de listas + reemplazar() + barajar()

Esta es una de las formas en que se puede realizar esta tarea. En esto, encapsulamos toda la lógica en una sola línea utilizando funcionalidades similares al método anterior.

Python3

# Python3 code to demonstrate working of 
# Random Replacement of Word in String
# Using list comprehension + replace() + shuffle()
from random import shuffle
  
# initializing string
test_str = "Gfg is val. Its also val for geeks"
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing list 
repl_list = ["Good", "Better", "Best"]
  
# initializing replace word
repl_word = "val"
  
# one-liner to solve problem
shuffle(repl_list)
res = [test_str.replace(repl_word, ele, 1) for ele in repl_list]
      
# printing result 
print("String after random replacement : " + str(res)) 
Producción

La string original es: Gfg es val. También es válido para geeks
String después de un reemplazo aleatorio: [‘Gfg is Good. También es válido para geeks’, ‘Gfg is Better’. También es válido para geeks’, ‘Gfg is Best. También es válido para geeks’]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *