Suponiendo que tengo una lista con una gran cantidad de elementos.
l = [ 1, 4, 6, 30, 2, ... ]
Quiero obtener la cantidad de elementos de esa lista, donde un elemento debe cumplir cierta condición. Mi primer pensamiento fue:
count = len([i for i in l if my_condition(l)])
Pero si la lista filtrada my_condition () también tiene una gran cantidad de elementos, creo que crear una nueva lista para el resultado filtrado es solo una pérdida de memoria. Por eficiencia, en mi humilde opinión, la llamada anterior no puede ser mejor que:
count = 0
for i in l:
if my_condition(l):
count += 1
¿Existe alguna forma de estilo funcional para lograr obtener el número de elementos que satisfacen cierta condición sin generar una lista temporal?
Gracias por adelantado.