假设我有一个包含大量物品的清单,
l = [ 1, 4, 6, 30, 2, ... ]
我想从该列表中获得项目数,其中一个项目满足某个条件。我的第一个想法是:
count = len([i for i in l if my_condition(l)])
但是,如果过滤列表也有大量的项目,我认为 为筛选结果创建一个新列表只是浪费内存。恕我直言,就效率而言,上述呼吁不可能比:
count = 0
for i in l:
if my_condition(l):
count += 1
有没有什么函数式的方法可以在不产生临时列表的情况下获得满足条件的项目的 # ?