Python - Función Filter
#Filter función
#28 ejemplos utilizando la función filter en Python:
#1. Filtrar los números pares de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
#2. Filtrar los números impares de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers)
#3. Filtrar los números mayores que 5 de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
greater_than_five = list(filter(lambda x: x > 5, numbers))
print(greater_than_five)
#4. Filtrar los números menores o iguales que 5 de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
less_than_or_equal_to_five = list(filter(lambda x: x <= 5, numbers))
print(less_than_or_equal_to_five)
#5. Filtrar los números entre 3 y 7 de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
between_three_and_seven = list(filter(lambda x: 3 <= x <= 7, numbers))
print(between_three_and_seven)
#6. Filtrar los números que son múltiplos de 3 de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
multiples_of_three = list(filter(lambda x: x % 3 == 0, numbers))
print(multiples_of_three)
#7. Filtrar los números que son múltiplos de 5 de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
multiples_of_five = list(filter(lambda x: x % 5 == 0, numbers))
print(multiples_of_five)
#8. Filtrar los números que son múltiplos de 3 y 5 de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
multiples_of_three_and_five = list(filter(lambda x: x % 3 == 0 and x % 5 == 0, numbers))
print(multiples_of_three_and_five)
#9. Filtrar los números que son primos de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
prime_numbers = list(filter(is_prime, numbers))
print(prime_numbers)
#10. Filtrar los números que son divisibles por un número dado de una lista:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
divisor = 3
divisible_by_divisor = list(filter(lambda x: x % divisor == 0, numbers))
print(divisible_by_divisor)
#11. Filtrar los elementos de una lista que son cadenas de longitud 3:
strings = ['hola', 'mundo', 'python', 'es', 'genial']
three_letter_strings = list(filter(lambda x: len(x) == 3, strings))
print(three_letter_strings)
#12. Filtrar los elementos de una lista que son cadenas de longitud mayor que 5:
strings = ['hola', 'mundo', 'python', 'es', 'genial']
long_strings = list(filter(lambda x: len(x) > 5, strings))
print(long_strings)
#13. Filtrar los elementos de una lista que son cadenas que empiezan con una letra en particular:
strings = ['hola', 'mundo', 'python', 'es', 'genial']
starts_with_p_strings = list(filter(lambda x: x.startswith('p'), strings))
print(starts_with_p_strings)
#14. Filtrar los elementos de una lista que son cadenas que contienen una letra en particular:
strings = ['hola', 'mundo', 'python', 'es', 'genial']
contains_o_strings = list(filter(lambda x: 'o' in x, strings))
print(contains_o_strings)
#15. Filtrar los elementos de una lista que son cadenas que terminan con una letra en particular:
strings = ['hola', 'mundo', 'python', 'es', 'genial']
ends_with_n_strings = list(filter(lambda x: x.endswith('n'), strings))
print(ends_with_n_strings)
#16. Filtrar los elementos de una lista que son cadenas que contienen solo letras minúsculas:
strings = ['hola', 'Mundo', 'Python', 'es', 'Genial']
lowercase_strings = list(filter(lambda x: x.islower(), strings))
print(lowercase_strings)
#17. Filtrar los elementos de una lista que son cadenas que contienen solo letras mayúsculas:
strings = ['hola', 'Mundo', 'Python', 'es', 'Genial']
uppercase_strings = list(filter(lambda x: x.isupper(), strings))
print(uppercase_strings)
#18. Filtrar los elementos de una lista que son cadenas que contienen solo letras:
strings = ['hola', 'Mundo', 'Python', 'es', 'Genial', '123']
letter_strings = list(filter(lambda x: x.isalpha(), strings))
print(letter_strings)
#19. Filtrar los elementos de una lista que son cadenas que contienen solo números:
strings = ['hola', 'Mundo', 'Python', 'es', 'Genial', '123']
number_strings = list(filter(lambda x: x.isnumeric(), strings))
print(number_strings)
#20. Filtrar los elementos de una lista que son cadenas que contienen solo letras o números:
strings = ['hola', 'Mundo', 'Python', 'es', 'Genial', '123']
alphanumeric_strings = list(filter(lambda x: x.isalnum(), strings))
print(alphanumeric_strings)
#21. Filtrar los elementos de una lista que son cadenas que contienen solo espacios en blanco:
strings = ['hola', ' ', 'Mundo', ' ', 'Python', 'es', ' ', 'Genial']
whitespace_strings = list(filter(lambda x: x.isspace(), strings))
print(whitespace_strings)
#22. Filtrar los elementos de una lista que son diccionarios que contienen una clave en particular:
people = [{'name': 'John', 'age': 25}, {'name': 'Jane', 'age': 30}, {'name': 'Bob', 'age': 35}]
thirty_year_olds = list(filter(lambda x: x.get('age') == 30, people))
print(thirty_year_olds)
#23. Filtrar los elementos de una lista que son diccionarios que contienen una clave y valor en particular:
people = [{'name': 'John', 'age': 25}, {'name': 'Jane', 'age': 30}, {'name': 'Bob', 'age': 35}]
jane = list(filter(lambda x: x.get('name') == 'Jane' and x.get('age') == 30, people))
print(jane)
#24. Filtrar los elementos de una lista que son tuplas que contienen un elemento en particular:
tuples = [(1, 2), (2, 3), (3, 4), (4, 5)]
contains_three = list(filter(lambda x: 3 in x, tuples))
print(contains_three)
#25. Filtrar los elementos de una lista que son tuplas que contienen dos elementos en particular:
tuples = [(1, 2), (2, 3), (3, 4), (4, 5)]
contains_two_and_three = list(filter(lambda x: 2 in x and 3 in x, tuples))
print(contains_two_and_three)
#26. Filtrar los elementos de una lista que son conjuntos que contienen un elemento en particular:
sets = [{1, 2}, {2, 3}, {3, 4}, {4, 5}]
contains_three = list(filter(lambda x: 3 in x, sets))
print(contains_three)
#27. Filtrar los elementos de una lista que son conjuntos que contienen dos elementos en particular:
sets = [{1, 2}, {2, 3}, {3, 4}, {4, 5}]
contains_two_and_three = list(filter(lambda x: 2 in x and 3 in x, sets))
print(contains_two_and_three)
#28. Filtrar los elementos de una lista que son funciones que devuelven un valor en particular:
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
functions = [add, subtract, multiply, divide]
division_functions = list(filter(lambda x: x(10, 2) == 5, functions))
print(division_functions)