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 相关文章推荐
安装dbus-python的简要教程
May 05 Python
Python 实现使用dict 创建二维数据、DataFrame
Apr 13 Python
opencv与numpy的图像基本操作
Mar 08 Python
python tkinter canvas使用实例
Nov 04 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
python 连续不等式语法糖实例
Apr 15 Python
python构造IP报文实例
May 05 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
python 模拟在天空中放风筝的示例代码
Apr 21 Python
详细总结Python常见的安全问题
May 21 Python
Pygame Time时间控制的具体使用详解
Nov 17 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 curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python批量转换文件编码格式
2015/05/17 Python
Python中的super用法详解
2015/05/28 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
六十岁生日答谢词
2014/01/10 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
5.12护士节活动总结
2015/02/10 职场文书
老公出轨后的保证书
2015/05/08 职场文书
立春观后感
2015/06/18 职场文书