给定三个字符串,怎么样猎取个中重复情势最高的子字符串,笔者利用的格局是运用滑窗机制,对给定的字符串切分,窗口的轻重缓急从一充实到字符串长度减一,将具备的获得的切成片计算结果,在此处不考虑单个字符的再次格局,好了,很简短看具体落到实处:

本文实例讲述了Python完成总结给定字符串中重新情势最高子串功用。分享给大家供大家仿照效法,具体如下:

正文实例讲述了Python达成总计给定字符串中另行格局最高子串功能。分享给我们供大家仿照效法,具体如下:

#!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

给定贰个字符串,怎么样获取个中重复情势最高的子字符串,作者使用的方式是利用滑窗机制,对给定的字符串切分,窗口的轻重缓急从一扩大到字符串长度减一,将享有的收获的切成丝计算结果,在那边不缅怀单个字符的重新形式,好了,很简短看现实贯彻:

给定三个字符串,怎样收获当中重复情势最高的子字符串,小编利用的不二等秘书籍是接纳滑窗机制,对给定的字符串切分,窗口的深浅从一扩充到字符串长度减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
#!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]

结果如下:

结果如下:

结果列表中第一个即为所求,当然,基于此还是能承继创新有大多其余须求。

[必发88官网,(’45’, 8), (‘4545’, 5), (‘454’, 5), (‘545′, 5), (’54’, 5), (‘5454’,
4), (‘454545’, 4), (‘45454’, 4), (‘54545’, 4), (‘545454’, 3)]
[Finished in 0.5s]

[(’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获取钦定字符串中重新格局最高的字符串方法正是笔者分享给我们的全体内容了,希望能给大家3个参阅,也指望大家多多扶助脚本之家。

结果列表中首先个即为所求,当然,基于此还是能承继革新有为数相当多别的须求。

结果列表中首先个即为所求,当然,基于此仍是能够持续改进有广大其余需要。

你或许感兴趣的稿子:

  • Python完成总结给定字符串中重复方式最高子串功能示例
  • python去掉字符串中另行字符的不二等秘书技
  • python总括字符串中钦命字符出现次数的点子

PS:这里再为我们推荐二款特别便宜的总括工具供大家参考使用:

在线字数计算工具:

在线字符总结与编写制定工具:

更加多关于Python相关内容感兴趣的读者可查看本站专项论题:《Python字符串操作手艺汇总》、《Python数据结构与算法教程》、《Python函数使用技术总括》及《Python入门与晋级杰出教程》

指望本文所述对我们Python程序设计有所匡助。

您大概感兴趣的稿子:

  • Python达成总括英文单词个数及字符串分割代码
  • python计算文本字符串里单词出现频率的点子
  • python计算字符串中钦命字符出现次数的办法
  • Python达成针对给定字符串搜索最长非重复子串的法子
  • Python轻易完结查找1个字符串中最长不重复子串的方法
  • python去掉字符串中再次字符的法门
  • Python总括列表中的重复项出现的次数的章程
  • python用字典总计单词或汉字词个数示例
  • python完成总计汉字/英文单词数的正则表明式
  • Python达成总结单词出现的个数

相关文章