Dada una lista de strings y una lista de substrings. La tarea es extraer todas las apariciones de substring de la lista de strings.
Ejemplos:
Entrada : test_list = [“gfg es mejor”, “gfg es bueno para CS”, “gfg es recomendado para CS”]
lista_subs = [“gfg”, “CS”]
Salida : [‘gfg es bueno para CS’, ‘gfg se recomienda para CS’]
Explicación : las strings de resultados tienen tanto «gfg» como «CS».
Entrada : test_list = [“gfg es mejor”, “gfg se recomienda para CS”]
subs_lista = [“gfg”]
Salida : [“gfg es mejor”, “gfg se recomienda para CS”]
Explicación : las strings de resultado tienen «gfg».
Método n.º 1: usar bucle + en el operador
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, ejecutamos un bucle para extraer todas las strings y también todas las substrings de la lista. El operador in se utiliza para comprobar la existencia de substrings.
Python3
# Python3 code to demonstrate working of # Strings with all Substring Matches # Using loop + in operator # initializing list test_list = ["gfg is best", "gfg is good for CS", "gfg is recommended for CS"] # printing original list print("The original list is : " + str(test_list)) # initializing Substring List subs_list = ["gfg", "CS"] res = [] for sub in test_list: flag = 0 for ele in subs_list: # checking for non existence of # any string if ele not in sub: flag = 1 break if flag == 0: res.append(sub) # printing result print("The extracted values : " + str(res))
Producción:
La lista original es: [‘gfg es mejor’, ‘gfg es bueno para CS’, ‘gfg se recomienda para CS’]
Los valores extraídos: [‘gfg es bueno para CS’, ‘gfg se recomienda para CS’]
Método #2: Usando all() + comprensión de lista
Este es un enfoque de una sola línea con la ayuda de la cual podemos realizar esta tarea. En esto, verificamos la existencia de todos los valores usando all() , y la comprensión de la lista se usa para la iteración de todos los contenedores.
Python3
# Python3 code to demonstrate working of # Strings with all Substring Matches # Using all() + list comprehension # initializing list test_list = ["gfg is best", "gfg is good for CS", "gfg is recommended for CS"] # printing original list print("The original list is : " + str(test_list)) # initializing Substring List subs_list = ["gfg", "CS"] # using all() to check for all values res = [sub for sub in test_list if all((ele in sub) for ele in subs_list)] # printing result print("The extracted values : " + str(res))
Producción:
La lista original es: [‘gfg es mejor’, ‘gfg es bueno para CS’, ‘gfg se recomienda para CS’]
Los valores extraídos: [‘gfg es bueno para CS’, ‘gfg se recomienda para CS’]
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