El problema clásico que puede ser manejado con bastante facilidad por Python y que también ha sido tratado muchas veces es encontrar si una cadena es subcadena de otra. Pero a veces, uno desea extender esto en la lista de cadenas, y por lo tanto, entonces requiere para recorrer todo el contenedor y realizar el algoritmo genérico.
Discutiremos ciertas formas de encontrar cadenas con una subcadena dada en la lista.
Método #1 : Usando la comprensión de la lista
La comprensión de la lista es una forma elegante de realizar cualquier tarea particular ya que aumenta la legibilidad a largo plazo. Esta tarea se puede realizar utilizando el método ingenuo y por lo tanto se puede reducir a la comprensión de la lista también.
test_list
=
print
(
"The original list is : "
+
str
(test_list))
subs
=
'Geek'
res
=
print
(
"All strings with given substring are : "
+
str
(res))
The original list is : All strings with given substring are :
Método #2 : Usando filter()
+ lambda
Esta función también puede realizar esta tarea de encontrar las cadenas con la ayuda de lambda. Simplemente filtra todas las cadenas que coinciden con la subcadena particular y luego la añade en una nueva lista.
test_list
=
print
(
"The original list is : "
+
str
(test_list))
subs
=
'Geek'
res
=
list
(
filter
(
lambda
x: subs
in
x, test_list))
print
(
"All strings with given substring are : "
+
str
(res))
The original list is : All strings with given substring are :
Método #3 : Usando re + search()
Las expresiones regulares se pueden utilizar para realizar muchas tareas en python. Para realizar esta tarea en particular también, las expresiones regulares pueden ser útiles. Encuentra todas las subcadenas coincidentes utilizando search()
y devuelve el resultado.
import
re
test_list
=
print
(
"The original list is : "
+
str
(test_list))
subs
=
'Geek'
res
=
print
(
"All strings with given substring are : "
+
str
(res))
The original list is : All strings with given substring are :
Deja una respuesta