Skip to main content
 首页 » 编程设计

python之这段代码中 sum(rlist) == len(list) 的目的是什么

2025年05月04日14haluo1

问题是写一个函数 matchAll(pattern, list),如果模式匹配列表中的所有字符串,则返回 True。

答案是:

import re 
def matchAll(pattern,lst): 
    outlist=[(re.search(pattern, i) != None) for i in lst] 
    #out = True 
    #for i in outlist: 
    #    out= i and out 
    return sum(outlist)==len(outlist) 

除了最后一行,我理解他们所做的一切。为什么你必须检查列表的总和是否等于列表的长度?谢谢

请您参考如下方法:

outlist 是一个 bool 值列表。如果所有项都是True,则所有项的总和(True被强制为 1 和 False s 为 0) 将与列表的长度相同。

和做的一样:

return all(outlist)