python - 如何计算字母组合的出现次数?
问题描述
我想计算一个序列中多个字符在字符串中出现的频率。例如,我想查看ad
在 中出现了多少次badhadmad
。我考虑过使用for
循环,但我不知道如何迭代多个字符。我怎样才能做到这一点?
解决方案
使用它来计算 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')))
推荐阅读
- html - 使用在页面本身中创建的 html 自定义元素有什么危害?
- javascript - 从 dangerouslySetInnerHTML 反应返回标记
- sql - SQLite - 即使它们是重复的也返回行
- c# - 如何将 XNamespace 添加到 XDocument 的根元素?
- go - 如何 bson.UnmarshalExtJSON 将时间字符串解析为 ISODate
- html - Mathjax 不呈现小数指数
- javascript - Vue 警告我无法在未定义、null 或原始值上设置反应属性:null
- docker - 为什么 docker CLI 命令默认控制容器?
- java - 如何使用百里香遍历二维数组
- php - 使用 PHPMailer 发送邮件的误报垃圾邮件 GMAIL