Предполагая, что у меня есть список с огромным количеством элементов.
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
Есть ли какой-либо функциональный способ получить количество элементов, удовлетворяющих определенному условию, без создания временного списка?
Заранее спасибо.