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求斐波那契数列示例分享
Feb 14 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
Python基于Tkinter的HelloWorld入门实例
Jun 17 Python
Python中一些不为人知的基础技巧总结
May 19 Python
Python对excel文档的操作方法详解
Dec 10 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
python五子棋游戏的设计与实现
Jun 18 Python
Python 函数list&read&seek详解
Aug 28 Python
在keras 中获取张量 tensor 的维度大小实例
Jun 10 Python
python操作微信自动发消息的实现(微信聊天机器人)
Jul 14 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 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编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
vue实现记事本功能
2019/06/26 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
五一服装活动方案
2014/01/11 职场文书
美术教师自我鉴定
2014/02/12 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
班级寄语大全
2014/04/10 职场文书
战略合作协议书范本
2014/04/18 职场文书
环保项目建议书
2014/08/26 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python