La prueba de una sola substring en una string se ha discutido muchas veces. Pero a veces, tenemos una lista de substrings potenciales y verificamos cuáles ocurren en una string de destino como una substring. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Uso de la comprensión de listas
El uso de la comprensión de listas es el método ingenuo y de fuerza bruta para realizar esta tarea en particular. En este método, intentamos obtener la string coincidente usando el operador «en» y almacenarla en la nueva lista.
Python3
# Python3 code to demonstrate working of # Get matching substrings in string # Using list comprehension # initializing string test_str = "GfG is good website"; # initializing potential substrings test_list = ["GfG", "site", "CS", "Geeks", "Tutorial"] # printing original string print("The original string is : " + test_str) # printing potential strings list print("The original list is : " + str(test_list)) # using list comprehension # Get matching substrings in string res = [sub for sub in test_list if sub in test_str] # printing result print("The list of found substrings : " + str(res))
The original string is : GfG is good website The original list is : ['GfG', 'site', 'CS', 'Geeks', 'Tutorial'] The list of found substrings : ['GfG', 'site']
Método #2: Usar filter() + lambda
Esta tarea también se puede realizar usando la función de filtro que realiza la tarea de filtrar las strings resultantes cuya existencia se verifica usando la función lambda.
Python3
# Python3 code to demonstrate working of # Get matching substrings in string # Using lambda and filter() # initializing string test_str = "GfG is good website"; # initializing potential substrings test_list = ["GfG", "site", "CS", "Geeks", "Tutorial"] # printing original string print("The original string is : " + test_str) # printing potential strings list print("The original list is : " + str(test_list)) # using lambda and filter() # Get matching substrings in string res = list(filter(lambda x: x in test_str, test_list)) # printing result print("The list of found substrings : " + str(res))
The original string is : GfG is good website The original list is : ['GfG', 'site', 'CS', 'Geeks', 'Tutorial'] The list of found substrings : ['GfG', 'site']
Método #3: Usando el método find().
El método find() devuelve la posición de la string pasada como argumento en la string dada o devuelve -1
Python3
# Python3 code to demonstrate working of # Get matching substrings in string # initializing string test_str = "GfG is good website" # initializing potential substrings test_list = ["GfG", "site", "CS", "Geeks", "Tutorial" ] # printing original string print("The original string is : " + test_str) # printing potential strings list print("The original list is : " + str(test_list)) # Get matching substrings in string res=[] for i in test_list: if(test_str.find(i)!=-1 and i not in res): res.append(i) # printing result print("The list of found substrings : " + str(res))
The original string is : GfG is good website The original list is : ['GfG', 'site', 'CS', 'Geeks', 'Tutorial'] The list of found substrings : ['GfG', 'site']
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