小编int*_*lex的帖子

如何并行化一个长字符串的正则表达式搜索?

我正在测试模拟的输出,看它是否在某个时刻进入循环,所以我需要知道输出是否重复.例如,可能有400个数字,然后是400000个数字周期.输出仅包含0-9的数字.我有以下正则函数,我用来匹配单个长字符串中的重复:

def repetitions(s):
    r = re.compile(r"(.+?)\1+")
    for match in r.finditer(s):
        if len(match.group(1)) > 1 and len(match.group(0))/len(match.group(1)) > 4:
            yield (match.group(1), len(match.group(0))/len(match.group(1)))
Run Code Online (Sandbox Code Playgroud)

这个功能非常有效,但需要太长时间.我最近的测试是400万位,搜索需要4.5小时.它没有发现重复,所以我现在需要增加搜索空间.代码只关注自身重复次数超过4次的子序列,因为我正在考虑重复5次以给出一个可以手动检查的集合:模拟将生成将重复数百次的子序列.我正在四核机器上运行,要检查的数字是实时生成的.如何提高搜索速度?

python regex algorithm

12
推荐指数
1
解决办法
287
查看次数

如何在Python中将二进制数组写为图像?

我在Python中有一个二进制数组:

data = [0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1...]
Run Code Online (Sandbox Code Playgroud)

我想取出这些数据并将其保存为位图,其中"0"对应于白色,"1"对应于黑色.我知道数组中有2500个数字,对应于50x50位图.我已经下载并安装了PIL,但我不确定如何将它用于此目的.如何将此数组转换为相应的图像?

python python-imaging-library

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×2

algorithm ×1

python-imaging-library ×1

regex ×1