通过滑动窗口扫描字符串中的某些字母组合。计数发生次数。Python

2024-06-16 12:25:36 发布

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

如果你有一个序列并且你创建了一个窗口大小为4的列表。在每一扇窗户里你都在寻找特定的排列方式。在

#Example:
count=0
test='abcdaecdagcd'
windows=['abcd','bcda','cdae','daec','aecd','ecda','cdag','dagc','agcd']

我在寻找一个特殊的母题,它是序列中的a-[b或e]-*-d,我想计算它发生的次数

所以'abcd'和'aecd'会起作用,因为'a-[b或e]-(这个位置无关紧要)-d'会加上计数2,所以在函数通过后,它将是count=2


Tags: test列表examplewindowscount方式序列窗户
1条回答
网友
1楼 · 发布于 2024-06-16 12:25:36

字符串“A(b或e)*d”不能以字符串“A(b或e)*d”开头。因此,长字符串中的此类字符串不能重叠,然后正则表达式可用于查找所需内容:

import re

ss = 'abcdaecdagcd'

regx = re.compile('a[be].d')

print regx.findall(ss)
print len(regx.findall(ss))

结果

^{pr2}$

相关问题 更多 >