Python – Reemplazar substrings de la lista de strings

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos reemplazar substrings con la string asignada para formar una forma abreviada de algunos términos. Este tipo de problema puede tener aplicaciones en muchos dominios relacionados con datos. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usar loop + replace() + enumerate() 
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, realizamos la tarea de iteración usando loop y enumerate() y el reemplazo con una forma más corta se realiza usando replace().

Python3

# Python3 code to demonstrate
# Replace Substrings from String List
# using loop + replace() + enumerate()
 
# Initializing list1
test_list1 = ['GeeksforGeeks', 'is', 'Best', 'For', 'Geeks', 'And', 'Computer Science']
test_list2 = [['Geeks', 'Gks'], ['And', '&'], ['Computer', 'Comp']]
 
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
 
# Replace Substrings from String List
# using loop + replace() + enumerate()
sub = dict(test_list2)
for key, val in sub.items():
    for idx, ele in enumerate(test_list1):
        if key in ele:
            test_list1[idx] = ele.replace(key, val)
 
# printing result
print ("The list after replacement : " + str(test_list1))
Producción : 

The original list 1 is : ['GeeksforGeeks', 'is', 'Best', 'For', 'Geeks', 'And', 'Computer Science']
The original list 2 is : [['Geeks', 'Gks'], ['And', '&'], ['Computer', 'Comp']]
The list after replacement : ['GksforGks', 'is', 'Best', 'For', 'Gks', '&', 'Comp Science']

 

Método #2: Usar replace() + comprensión de lista 
Esta es otra forma en la que se puede realizar esta tarea. En esto, realizamos la tarea de reemplazar usando replace(), y el resto de la tarea se realiza usando la comprensión de listas. Elimina listas que no tienen reemplazos.

Python3

# Python3 code to demonstrate
# Replace Substrings from String List
# using replace() + list comprehension
 
# Initializing list1
test_list1 = ['GeeksforGeeks', 'is', 'Best', 'For', 'Geeks', 'And', 'Computer Science']
test_list2 = [['Geeks', 'Gks'], ['And', '&'], ['Computer', 'Comp']]
 
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
 
# Replace Substrings from String List
# using replace() + list comprehension
res = [sub.replace(sub2[0], sub2[1]) for sub in test_list1
      for sub2 in test_list2 if sub2[0] in sub]
 
# printing result
print ("The list after replacement : " + str(res))
Producción : 

The original list 1 is : ['GeeksforGeeks', 'is', 'Best', 'For', 'Geeks', 'And', 'Computer Science']
The original list 2 is : [['Geeks', 'Gks'], ['And', '&'], ['Computer', 'Comp']]
The list after replacement : ['GksforGks', 'Gks', '&', 'Comp Science']

 

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 *