Encontrar una cadena en una lista en Python
-
Utilizar el bucle
for
para encontrar elementos de una lista que contengan una subcadena específica en Python -
Utilice la función
filter()
para encontrar elementos de una lista de Python que contengan una subcadena específica - Usar las Expresiones Regulares para Encontrar Elementos de una Lista de Python que Contengan una Subcadena Específica
Este tutorial mostrará cómo encontrar elementos de una lista en Python que tengan una subcadena específica.
Trabajaremos con la siguiente lista y extraeremos las cadenas que tengan ack
en ellas.
my_list = ["Jack", "Mack", "Jay", "Mark"]
Utilizar el bucle for
para encontrar elementos de una lista que contengan una subcadena específica en Python
En este método, iteramos a través de la lista y comprobamos si la subcadena está presente en un elemento concreto o no. Si la subcadena está presente en el elemento, entonces la almacenamos en la cadena. El siguiente código muestra cómo:
str_match = [s for s in my_list if "ack" in s]
print(str_match)
Producción :
['Jack', 'Mack']
La palabra clave in
comprueba si la cadena dada, "ack"
en este ejemplo, está presente en la cadena o no. También se puede sustituir por el método __contains__
, que es un método mágico de la clase string. Por ejemplo:
str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)
Producción :
['Jack', 'Mack']
Utilice la función filter()
para encontrar elementos de una lista de Python que contengan una subcadena específica
La función filter()
recupera un subconjunto de datos de un objeto dado con la ayuda de una función. Este método utilizará la palabra clave lambda
para definir la condición para filtrar los datos. La palabra clave lambda
crea una función lambda
de una sola línea en Python. Vea el siguiente fragmento de código.
str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)
Producción :
['Jack', 'Mack']
Usar las Expresiones Regulares para Encontrar Elementos de una Lista de Python que Contengan una Subcadena Específica
Una expresión regular es una secuencia de caracteres que puede actuar como un patrón de coincidencia para buscar elementos. Para utilizar expresiones regulares, tenemos que importar el módulo re
. En este método, utilizaremos el bucle for
y el método re.search()
, que se utiliza para devolver un elemento que coincida con un patrón específico. El siguiente código explica cómo hacerlo:
import re
pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)
Producción :
['Jack', 'Mack']
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python