Python: reemplaza la ocurrencia duplicada en la string

A veces, mientras trabajamos con strings de Python, podemos tener problemas en los que necesitamos realizar el reemplazo de una palabra. Esta es una tarea bastante común y se ha discutido muchas veces. Pero a veces, el requisito es reemplazar la aparición de un solo duplicado, es decir, de una segunda aparición. Esto tiene aplicaciones en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar el split() + enumerate()bucle +
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, separamos las palabras usando split. En esto, memorizamos la primera ocurrencia en el conjunto y verificamos si el valor se guardó antes y luego se reemplazó si ya ocurrió.

# Python3 code to demonstrate working of 
# Replace duplicate Occurrence in String
# Using split() + enumerate() + loop
  
# initializing string
test_str = 'Gfg is best . Gfg also has Classes now. \
                Classes help understand better . '
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing replace mapping 
repl_dict = {'Gfg' :  'It', 'Classes' : 'They' }
  
# Replace duplicate Occurrence in String
# Using split() + enumerate() + loop
test_list = test_str.split(' ')
res = set()
for idx, ele in enumerate(test_list):
    if ele in repl_dict:
        if ele in res:
            test_list[idx] = repl_dict[ele]
        else:
            res.add(ele)
res = ' '.join(test_list)
  
# printing result 
print("The string after replacing : " + str(res)) 
Producción :

La string original es: Gfg es mejor. Gfg también tiene Clases ahora. Las clases ayudan a comprender mejor.
La string después de reemplazar: Gfg es la mejor. También tiene Clases ahora. Ayudan a comprender mejor.

Método #2: Uso keys() + index()de la comprensión de listas +
Esta es otra forma en la que se puede realizar esta tarea. En esto, no requerimos memorización. Este es un enfoque de línea para resolver este problema.

# Python3 code to demonstrate working of 
# Replace duplicate Occurrence in String
# Using keys() + index() + list comprehension
  
# initializing string
test_str = 'Gfg is best . Gfg also has Classes now. Classes help understand better . '
  
# printing original string
print("The original string is : " + str(test_str))
  
# initializing replace mapping 
repl_dict = {'Gfg' :  'It', 'Classes' : 'They' }
  
# Replace duplicate Occurrence in String
# Using keys() + index() + list comprehension
test_list = test_str.split(' ')
res = ' '.join([repl_dict.get(val) if val in repl_dict.keys() and test_list.index(val) != idx 
                                   else val for idx, val in enumerate(test_list)])
  
# printing result 
print("The string after replacing : " + str(res)) 
Producción :

La string original es: Gfg es mejor. Gfg también tiene Clases ahora. Las clases ayudan a comprender mejor.
La string después de reemplazar: Gfg es la mejor. También tiene Clases ahora. Ayudan a comprender mejor.

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 *