python获取指定字符串中重复模式最高的字符串方法
作者:Together_CZ 时间:2021-03-25 14:59:25
给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所有的得到的切片统计结果,在这里不考虑单个字符的重复模式,好了,很简单看具体实现:
#!usr/binenv python
#encoding:utf-8
'''
__Author__:沂水寒城
统计一个给定字符串中重复模式数量得到最高重复模式串
'''
def slice(num_str,w):
'''
对输入的字符串滑窗切片返回结果列表
'''
result_list=[]
for i in range(len(num_str)-w+1):
result_list.append(num_str[i:i+w])
return result_list
def get_repeat_num_seq(num_str):
'''
统计重复模式串数量
'''
result_dict={}
result_list=[]
for i in range(2,len(num_str)):
one_list=slice(num_str, i)
result_list+=one_list
for i in range(len(result_list)):
if result_list[i] in result_dict:
result_dict[result_list[i]]+=1
else:
result_dict[result_list[i]]=1
sorted_result_dict=sorted(result_dict.items(), key=lambda e:e[1], reverse=True)
return sorted_result_dict[0:10]
if __name__ == '__main__':
num_list=get_repeat_num_seq('4513785645121214545454545457894')
print num_list
结果如下:
[('45', 8), ('4545', 5), ('454', 5), ('545', 5), ('54', 5), ('5454', 4), ('454545', 4), ('45454', 4), ('54545', 4), ('545454', 3)]
[Finished in 0.5s]
结果列表中第一个即为所求,当然,基于此还可以继续改进有很多别的需求。
来源:https://blog.csdn.net/Together_CZ/article/details/74761447
标签:python,重复,字符串
0
投稿
猜你喜欢
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2023-10-07 19:07:43
解决pycharm安装后代码区不能编辑的问题
2022-07-26 22:26:24
一文教你如何使用Python绘制瀑布图
2023-07-10 18:29:28
微信小程序前端如何调用python后端的模型详解
2023-03-12 06:29:13
MySQL命令行导出导入数据库实例详解
2024-01-22 08:57:22
利用WSH获取计算机硬件信息、DNS信息等
2008-05-05 13:04:00
vue-cli项目中怎么使用mock数据
2024-05-09 15:25:26
ASP 禁用清除页面缓存
2008-07-21 12:43:00
小记一次mysql主从配置解决方案
2024-01-12 18:28:42
谈谈XHTML中CDATA
2007-09-17 12:45:00
让程序员都费解的10大编程语言特性
2023-09-12 03:56:49
Pytorch转onnx、torchscript方式
2022-05-03 11:10:43
吐血推荐珍藏的Visual Studio Code插件(推荐)
2023-02-09 08:58:31
Python多线程获取返回值代码实例
2023-03-25 17:42:27
TypeScript新语法之infer extends示例详解
2024-03-13 20:42:27
Go container包的介绍
2024-04-28 10:49:08
Python venv虚拟环境跨设备迁移的实现
2022-02-01 07:10:55
超实用的全新JavaScript事件Scrollend实例详解
2024-04-16 10:27:49
如何区分SQL数据库中的主键与外键
2024-01-21 09:42:13
Python针对给定字符串求解所有子序列是否为回文序列的方法
2022-04-30 01:17:36