python - 使用python获取字符串中所有重复子字符串的计数
问题描述
我想获取字符串中特定长度的所有重复子字符串及其计数。示例:字符串 = "abcabcabcdabcd"
get_repeats(string, 3 #length of the substrings)
输出:
abc (4)
bca (2)
cab (2)
解决方案
from collections import Counter
def get_repeats(s, k):
ctr = Counter(s[i:i+k] for i in range(len(s) - k + 1))
return {sub: c for sub, c in ctr.items() if c > 1}
和用法:
>>> get_repeats("abcabcabcdabcd", 3)
{'abc': 4, 'bca': 2, 'cab': 2}
推荐阅读
- javascript - 一个事件多动作
- tensorflow - TensorFlow 服务集群架构
- amazon-web-services - 如何为 aws 私有 api 网关启用 SAML 身份验证
- ssl - 私有域中 Web 应用程序的 K8 证书颁发机构
- python - 在不加载到内存的情况下估计 pandas 数据框的大小
- raku - 有没有办法安全地重新声明符号?
- sql - Oracle SQL 逗号格式?
- tensorflow - external/local_config_mlir/include/mlir/IR/Attributes.h:783:20:内部编译器错误:在assign_temp中,在function.c:968
- django - 递归遍历模型
- angular - Angular没有将表单数据推送到数组