El método filter() filtra la secuencia dada con la ayuda de una función que comprueba si cada elemento de la secuencia es verdadero o no.
sintaxis:
filter(function, sequence) Parameters: function: function that tests if each element of a sequence true or not. sequence: sequence which needs to be filtered, it can be sets, lists, tuples, or containers of any iterators. Returns: returns an iterator that is already filtered.
# function that filters vowels def fun(variable): letters = ['a', 'e', 'i', 'o', 'u'] if (variable in letters): return True else: return False # sequence sequence = ['g', 'e', 'e', 'j', 'k', 's', 'p', 'r'] # using filter function filtered = filter(fun, sequence) print('The filtered letters are:') for s in filtered: print(s)
Producción:
The filtered letters are: e e
Aplicación:
normalmente se usa con funciones Lambda para separar listas, tuplas o conjuntos.
# a list contains both even and odd numbers. seq = [0, 1, 2, 3, 5, 8, 13] # result contains odd numbers of the list result = filter(lambda x: x % 2 != 0, seq) print(list(result)) # result contains even numbers of the list result = filter(lambda x: x % 2 == 0, seq) print(list(result))
Producción:
[1, 3, 5, 13] [0, 2, 8]
Consulte las funciones de Python Lambda para obtener más detalles.
Publicación traducida automáticamente
Artículo escrito por pawan_asipu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA