我正在编写一个python脚本,其中必须在许多字符串序列中找到公共子字符串。 例如:
sequence1 = 'mweitngaomjksjasper;36nnG1bmaso3th7a\-'
sequence2 = 'asngiqbwebs7-236jasper;u52dsv--4512G1b'
sequence3 = 'asvjaspermininwqmamnf-121xvxnesgq232'
jasper出现3次-在sequence1、sequence2和sequence3中各出现一次。 G1b出现2次-一次在序列1中,一次在序列2中。你知道吗
对于出现两次或两次以上的每个子字符串,我需要将它们添加到字典中,作为substring=>;count。 在这种情况下,我的字典是:
dict = { 'jasper': '3', 'G1b': '2'}
我将使用数千个序列来填充这个字典,如果一个子串在任何一个序列中出现两次或更多次,它将 需要添加到此词典中。在不破坏系统的情况下,最好的方法是什么?你知道吗
这是一种方法:
打印至少出现两次且最小长度为3的所有子字符串的计数:
首先,我们将编写一个快速的小生成器,它接受一个字符串并生成该字符串的每个子字符串
然后我们可以使用
itertools.takewhile
只获取那些多次出现的子字符串印刷品
相关问题 更多 >
编程相关推荐