python获取指定字符串中重复模式最高的字符串方法


Posted in Python onJune 29, 2018

给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从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]

结果列表中第一个即为所求,当然,基于此还可以继续改进有很多别的需求。

以上这篇python获取指定字符串中重复模式最高的字符串方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用xmlrpc实例讲解
Dec 17 Python
Python中处理字符串之endswith()方法的使用简介
May 18 Python
Fabric 应用案例
Aug 28 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
python处理DICOM并计算三维模型体积
Feb 26 Python
Python中拆分字符串的操作方法
Jul 23 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
python画蝴蝶曲线图的实例
Nov 21 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
使用npy转image图像并保存的实例
Jul 01 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
Sep 02 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 Python
Python 利用内置set函数对字符串和列表进行去重的方法
Jun 29 #Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 #Python
对python中两种列表元素去重函数性能的比较方法
Jun 29 #Python
Python数据持久化shelve模块用法分析
Jun 29 #Python
python 统计列表中不同元素的数量方法
Jun 29 #Python
python计算两个数的百分比方法
Jun 29 #Python
python统计字母、空格、数字等字符个数的实例
Jun 29 #Python
You might like
PHP MVC框架路由学习笔记
2016/03/02 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
JS中对象与字符串的互相转换详解
2016/05/20 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
列举Python中吸引人的一些特性
2015/04/09 Python
python中的闭包函数
2018/02/09 Python
基于Python List的赋值方法
2018/06/23 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
Python-接口开发入门解析
2019/08/01 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
幼师专业毕业生自荐信
2013/09/29 职场文书
自主实习接收函
2014/01/13 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
企业文化学习心得体会
2016/01/21 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书
Linux安装Docker详细教程
2022/07/07 Servers