Filtrar la lista de Python por predicado en Python

En este artículo, discutiremos cómo filtrar una lista de python usando el predicado. La función de filtro se usa para filtrar los elementos en la lista dada de elementos con la ayuda de un predicado. Un predicado es una función que siempre devuelve Verdadero o Falso al realizar algunas operaciones de condición en un método de filtro. 

Sintaxis :

filter(predicate, list)

dónde,

  • lista es una lista de entrada
  • el predicado es la condición a realizar en la lista dada

Método 1: usar lambda como predicado

Aquí lambda se usa para evaluar una expresión que actúa como predicado.

Sintaxis :

filter(lambda x: condition, list)

dónde

  • lista es una lista de entrada
  • condición actuar como predicado

Ejemplo: filtrar todos los números pares e impares en una lista

Python3

# create a list of 10 elements
data = [10, 2, 3, 4, 56, 32, 56, 32, 21, 59]
  
# apply a filter that takes only even numbers with
# lambda as predicate
a = filter(lambda x: x % 2 == 0, data)
  
# display
for i in a:
    print(i)
  
print("------------")
  
  
# apply a filter that takes only odd  numbers with
# lambda as predicate
a = filter(lambda x: x % 2 != 0, data)
  
# display
for i in a:
    print(i)

Producción:

10
2
4
56
32
56
32
------------
3
21
59

Método 2: usar la comprensión de listas

Aquí lista el acto de comprensión como un predicado.

Sintaxis :

[iterator for iterator  in list condition]

dónde,

  • lista es la lista de entrada
  • iterador se utiliza para iterar la lista de elementos de entrada
  • condición actuar como predicado

Ejemplo: código de Python para obtener números pares e impares

Python3

# create a list of 10 elements
data = [10, 2, 3, 4, 56, 32, 56, 32, 21, 59]
  
# filter data using comprehension
# to get even numbers
print([x for x in data if x % 2 == 0])
  
# filter data using comprehension
# to get odd numbers
print([x for x in data if x % 2 != 0])

Producción:

[10, 2, 4, 56, 32, 56, 32]
[3, 21, 59]

Publicación traducida automáticamente

Artículo escrito por saisravanprojects y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *