首页 > 解决方案 > 如何计算字母组合的出现次数?

问题描述

我想计算一个序列中多个字符在字符串中出现的频率。例如,我想查看ad在 中出现了多少次badhadmad。我考虑过使用for循环,但我不知道如何迭代多个字符。我怎样才能做到这一点?

标签: pythonpython-3.xstring

解决方案


使用它来计算 python 中子字符串的出现次数。

s = "badhadmad"

print(s.count("ad"))

使用循环:

s = "badhadadmad"
l = len(s)
pattern = "ad"
n = len(pattern)
count = 0
for i in range(l - n):
  if s[i] == pattern[0]:
    if s[i:i+n] == pattern:
      count += 1
print("Ans",count)

.count() 只给出不重叠的解决方案,用于重叠的子字符串:

import re
print(len(re.findall('(?=aba)', 'ababa')))

推荐阅读