膨大な数のアイテムのリストがあると仮定します。
l = [ 1, 4, 6, 30, 2, ... ]
そのリストからアイテムの数を取得したいのですが、アイテムは特定の条件を満たす必要があります。私の最初の考えは:
count = len([i for i in l if my_condition(l)])
しかし、my_condition()でフィルタリングされたリストにも多数のアイテムがある場合、フィルタリングされた結果の新しいリストを作成することは、メモリの浪費にすぎないと思います。効率のために、私見、上記の呼び出しは以下よりも優れていることはできません:
count = 0
for i in l:
if my_condition(l):
count += 1
一時的なリストを生成せずに特定の条件を満たすアイテムの数を取得するために達成する機能的な方法はありますか?
前もって感謝します。