Якщо припустити, що у мене є список з величезною кількістю предметів.
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
Чи існує якийсь спосіб у функціональному стилі, щоб отримати # предметів, які відповідають певним умовам, без створення тимчасового списку?
Заздалегідь спасибі.