问题是编写一个函数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是布尔值列表。如果所有项目均为True,则所有项目的总和(True强制为1,False强制为0)将与列表的长度相同。

与执行相同:

return all(outlist)

关于python - 此代码中sum(rlist)== len(list)的目的是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47520929/

10-12 17:55