A veces, mientras trabajamos con la lista de Python, podemos tener un problema en el que tenemos que filtrar una lista. Esto a veces puede venir con variaciones. Una de esas variaciones puede ser el filtrado mediante el uso de listas booleanas. Analicemos una forma en que se puede realizar esta tarea.
Método: Usoitertools.compress()
El método más elegante y directo para realizar esta tarea en particular es usar la funcionalidad incorporada de compress() para filtrar todos los elementos de la lista que existe en las posiciones de Verdad con respecto al índice de otra lista.
# Python3 code to demonstrate working of # Filter list by Boolean list # Using itertools.compress from itertools import compress # initializing list test_list = [6, 4, 8, 9, 10] # printing list print("The original list : " + str(test_list)) # initializing Boolean list bool_list = [True, False, False, True, True] # printing boolean list print("The bool list is : " + str(bool_list)) # Filter list by Boolean list # Using itertools.compress res = list(compress(test_list, bool_list)) # Printing result print("List after filtering is : " + str(res))
Producción :
The original list : [6, 4, 8, 9, 10] The bool list is : [True, False, False, True, True] List after filtering is : [6, 9, 10]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA