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))
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))
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