El problema clásico que Python puede manejar con bastante facilidad y que también se ha tratado muchas veces es encontrar si una string es una substring de otra. Pero a veces, uno desea extender esto en la lista de strings y, por lo tanto, requiere atravesar todo el contenedor y realizar el algoritmo genérico.
Analicemos ciertas formas de encontrar strings con una substring dada en la lista.
Método #1: Usar la comprensión de listas La comprensión
de listas es una forma elegante de realizar cualquier tarea en particular, ya que aumenta la legibilidad a largo plazo. Esta tarea se puede realizar utilizando un método ingenuo y, por lo tanto, también se puede reducir a la comprensión de la lista.
# Python code to demonstrate # to find strings with substrings # using list comprehension # initializing list test_list = ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] # printing original list print ("The original list is : " + str(test_list)) # initializing substring subs = 'Geek' # using list comprehension # to get string with substring res = [i for i in test_list if subs in i] # printing result print ("All strings with given substring are : " + str(res))
The original list is : ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] All strings with given substring are : ['GeeksforGeeks', 'Geeky']
Método #2: Usando filter()
+ lambda
Esta función también puede realizar esta tarea de encontrar las strings con la ayuda de lambda. Simplemente filtra todas las strings que coinciden con la substring en particular y luego la agrega en una nueva lista.
# Python code to demonstrate # to find strings with substrings # using filter() + lambda # initializing list test_list = ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] # printing original list print ("The original list is : " + str(test_list)) # initializing substring subs = 'Geek' # using filter() + lambda # to get string with substring res = list(filter(lambda x: subs in x, test_list)) # printing result print ("All strings with given substring are : " + str(res))
The original list is : ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] All strings with given substring are : ['GeeksforGeeks', 'Geeky']
Método n. ° 3: el usore + search()
de expresiones regulares se puede usar para realizar muchas tareas en python. Para realizar esta tarea en particular también, las expresiones regulares pueden ser útiles. Encuentra todas las substrings coincidentes usando search()
y devuelve el resultado.
# Python code to demonstrate # to find strings with substrings # using re + search() import re # initializing list test_list = ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] # printing original list print ("The original list is : " + str(test_list)) # initializing substring subs = 'Geek' # using re + search() # to get string with substring res = [x for x in test_list if re.search(subs, x)] # printing result print ("All strings with given substring are : " + str(res))
The original list is : ['GeeksforGeeks', 'Geeky', 'Computers', 'Algorithms'] All strings with given substring are : ['GeeksforGeeks', 'Geeky']
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