在循环中优化python findall regex

2024-10-02 18:23:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望优化以下代码:

def regex_cnt(pattern,ldata):
    return( len( re.findall(pattern, ldata) ) )

patternCollection = []
def countfreq():
    for eachpattern in patternlist:
        patCount = regex_cnt(eachpattern,lData)
        nwpattern = re.sub('[^0-9a-zA-Z]+', '_', eachpattern)
        cnwpattern = nwpattern + "=" + str(patCount)
        patternCollection.append(cnwpattern)
    return(patternCollection)

如果我只需要扫描几个模式,上面的代码就可以很好地工作。然而,如果模式列表很大,它会变得非常慢。我想知道是否有可能避免这里的for loop

我使用的是python2.6(我不能控制这个脚本运行的系统,所以我不能升级到python的最新版本)

请告知


Tags: 代码reforreturndef模式regexpattern