Zakładając, że mam listę z ogromną liczbą pozycji.
l = [ 1, 4, 6, 30, 2, ... ]
Chcę uzyskać liczbę pozycji z tej listy, dla których pozycja powinna spełniać określony warunek. Moją pierwszą myślą było:
count = len([i for i in l if my_condition(l)])
Ale jeśli lista filtrowana my_condition () ma również dużą liczbę elementów, myślę, że tworzenie nowej listy dla przefiltrowanych wyników jest po prostu stratą pamięci. Dla wydajności, IMHO, powyższe wezwanie nie może być lepsze niż:
count = 0
for i in l:
if my_condition(l):
count += 1
Czy jest jakiś funkcjonalny sposób na uzyskanie liczby elementów spełniających określony warunek bez generowania listy tymczasowej?
Z góry dziękuję.