Python: todas las apariciones de Substring de la lista de strings

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

Deja una respuesta

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