假设我有一个包含大量项目的列表.
l = [ 1, 4, 6, 30, 2, ... ]
Run Code Online (Sandbox Code Playgroud)
我想从该列表中获取项目数,其中项目应满足特定条件.我的第一个想法是:
count = len([i for i in l if my_condition(l)])
Run Code Online (Sandbox Code Playgroud)
但是如果my_condition()过滤列表也有很多项,我认为为过滤结果创建新列表只是浪费内存.为了效率,恕我直言,以上呼叫不能比:
count = 0
for i in l:
if my_condition(l):
count += 1
Run Code Online (Sandbox Code Playgroud)
有没有任何功能风格的方法来获得满足特定条件的项目#而不生成临时列表?
提前致谢.