假设我有一个包含大量项目的列表。
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
是否有任何功能样式的方法来获得满足特定条件的项目数而不生成临时列表?
提前致谢。