엄청난 수의 항목이있는 목록이 있다고 가정합니다.
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
임시 목록을 생성하지 않고 특정 조건을 충족하는 항목 수를 얻는 기능적 스타일의 방법이 있습니까?
미리 감사드립니다.