Предполагая, что у меня есть список с огромным количеством элементов.
l = [ 1, 4, 6, 30, 2, ... ]
Я хочу получить количество элементов из этого списка, где элемент должен удовлетворять определенному условию. Моя первая мысль была:
count = len([i for i in l if my_condition(l)])
Но если в списке фильтров my_condition() также большое количество элементов, я думаю, что создание нового списка для отфильтрованного результата - это просто трата памяти. Для эффективности IMHO, выше вызова не может быть лучше, чем:
count = 0
for i in l:
if my_condition(l):
count += 1
Есть ли какой-либо функциональный стиль для достижения, чтобы получить # элементов, удовлетворяющих определенному условию без создания временного списка?
Спасибо заранее.