Comprobación de Python si la lista contiene una cadena

Hemank Mehtani 30 enero 2023
  1. Use el bucle for para verificar una cadena específica en una lista de Python
  2. Use la comprensión de la lista para verificar una cadena específica en una lista de Python
  3. Utilice la función filter() para obtener una cadena específica en una lista de Python
Comprobación de Python si la lista contiene una cadena

Las cadenas son una secuencia de caracteres. Al igual que las cadenas almacenan caracteres en posiciones específicas, podemos usar listas para almacenar una colección de cadenas.

En este tutorial, obtendremos una cadena con valores específicos en una lista de Python.

Use el bucle for para verificar una cadena específica en una lista de Python

El for se usa para iterar sobre una secuencia en Python.

Su implementación para obtener una cadena que contiene valores específicos se muestra en el siguiente ejemplo.

py_list = ["a-1", "b-2", "c-3", "a-4"]
new_list = []
for x in py_list:
    if "a" in x:
        new_list.append(x)
print(new_list)

Producción :

['a-1','a-4']

En el código anterior, la instrucción if se usa dentro del bucle for para buscar cadenas que contengan a en la lista py_list. Se crea otra lista denominada new_list para almacenar esas cadenas específicas.

Use la comprensión de la lista para verificar una cadena específica en una lista de Python

Comprensión de listas es una forma de crear nuevas listas basadas en la lista existente. Ofrece una sintaxis más corta siendo más compacta y rápida que las otras funciones y bucles utilizados para crear una lista.

Por ejemplo,

py_list = ["a-1", "b-2", "c-3", "a-4"]
r = [s for s in py_list if "a" in s]
print(r)

Producción :

['a-1', 'a-4']

En el código anterior, la comprensión de listas se utiliza para buscar cadenas que tengan a en la lista py_list.

Tenga en cuenta que escribir el mismo código utilizando otras funciones o bucles habría llevado más tiempo, ya que se requiere más código para su implementación, pero la comprensión de listas resuelve ese problema.

También podemos usar la comprensión de listas para encontrar cadenas que contengan múltiples valores específicos, es decir, podemos encontrar cadenas que contengan a y b en py_list combinando las dos comprensiones.

Por ejemplo,

py_list = ["a-1", "b-2", "c-3", "a-4", "b-8"]
q = ["a", "b"]
r = [s for s in py_list if any(xs in s for xs in q)]
print(r)

Producción :

['a-1', 'b-2', 'a-4','b-8']

Utilice la función filter() para obtener una cadena específica en una lista de Python

La función filter() filtra el iterable dado con la ayuda de una función que comprueba si cada elemento satisface alguna condición o no.

Devuelve un iterador que aplica la comprobación para cada uno de los elementos del iterable.

Por ejemplo,

py_lst = ["a-1", "b-2", "c-3", "a-4"]
filter(lambda x: "a" in x, py_lst)
print(filter(lambda x: "a" in x, py_lst))

Producción :

<filter object at 0x7fd36c1905e0>

Tenga en cuenta que la salida anterior es un objeto de tipo filtro-iterador ya que la función filter() devuelve un iterador en lugar de una lista.

Podemos usar la función list() como se muestra en el código siguiente para obtener una lista.

list(filter(lambda x: "a" in x, py_lst))

Producción :

['a-1','a-4']

En el código anterior, hemos utilizado filter() para encontrar una cadena con valores específicos en la lista py_list.

Artículo relacionado - Python String

Artículo relacionado - Python List