Python | Filtrar lista por lista booleana

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

Deja una respuesta

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