python獲取指定字串中重複模式最高的字串
給定一個字串,如何得到其中重複模式最高的子字串,我採用的方法是使用滑窗機制,對給定的字串切分,視窗的大小從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獲取指定字串中重複模式最高的字串
給定一個字串,如何得到其中重複模式最高的子字串,我採用的方法是使用滑窗機制,對給定的字串切分,視窗的大小從1增加到字串長度減1,將所有的得到的切片統計結果,在這裡不考慮單個字元的重複模式,好了,很簡單看具體實現: #!usr/binenv python #encod
python xpath 獲取指定頁面中指定區域的html代碼
pytho sts clas xpath nbsp install .get element XML 最近一個朋友問我怎麽把一個指定區域的內容轉成pdf,網上查了一下python裏面有個wkhtmltopdf模塊可以將str、file、url轉成pdf,我們今天不聊
Python 中找出字串中出現頻率最高的字母
發現一個學Python的好網站 https://py.checkio.org 第一題大概意思就是找出一個字串中出現頻率最高字母 我的思路也是直接,弄個字典,遍歷字串,將鍵值對填進字典裡,健就是字母,值就是出現了幾次,再查下字典裡最大的值即可。 上我的程式碼 import
javaSE (三十二)找出字串中重複的元素並寫入檔案、模擬正版軟體使用次數期限、獲取資料夾下的全部java檔案
1、找出字串中重複的元素並寫入檔案: 問題:鍵入(或者從一個檔案中讀取)一個字串,找出字串中重複的元素並寫入檔案 思路: 鍵入字串 map儲存 寫入檔案 程式碼: package cn.njupt; /* * * 鍵入一串字元,計算每個字元出
QT中QString 類的使用--獲取指定字元位置、擷取子字串等
QString 類中各函式的作用。 一、字串連線函式。 1、QString也過載的+和+=運算子。這兩個運算子可以把兩個字串連線到一起。 2、QString的append()函式則提供了類似的操作,例如: str = "User: "; str
bash python獲取文本中每個字符出現的次數
false 字符 print rep count set encoding grep read bash: grep -o . myfile | sort |uniq -c python: 使用collections模塊 import pprint
python 獲取指定資料夾下所以檔案
reportPath =資料夾路徑 listdir=以一個list返回資料夾下所以檔案 dirs = os.listdir(reportPath)print(dirs) def __get_report(self): """獲取最新測試報告""" dirs = os.listdir(repo
兩個字串中重複字串的最大連續長度
對比兩個字串中,重複字串的最大連續長度 如: string m_strA = "lgdglfsdafpganecw"; string m_strB =
zabbix:利用zabbix api獲取指定組中的主機的名字並將其修改
思路講解:首先利用hostgroup.get方法獲取zabbix組的id與名字,然後檢索獲得指定組的id,再利用host.get獲取該指定組下的所有主機的id與名字,最後利用host.update根據主機的id更新主機的名字。 程式碼如下: #!/usr/bin/env python
python獲取指定目錄下的所有指定字尾的檔名
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
python獲取指定目錄下所有檔名os.walk和os.listdir
python獲取指定目錄下所有檔名os.walk和os.listdir 覺得有用的話,歡迎一起討論相互學習~Follow Me os.walk 返回指定路徑下所有檔案和子資料夾中所有檔案列表 其中資料夾下路徑如下: import os def file_name_walk(file_
查詢一個字串中出現頻率最高的字元
程式碼: let a='hhhhweeowiohhhlbbccdd'; a=a.split(''); // console.log(a instanceof Array); function findRes(){ let r
python在一個字串中找到另外一個字串並找到該字元起始的位置
程式碼詳解 def index_of_str(seq, sub_seq): index=[] n1=len(seq) n2=len(sub_seq) for i i
Java將兩個字串中重複的元素取出來賦給另一個字串
import java.util.Scanner; /** * 現在有兩個使用者輸入的字串,將這兩個字串中重複的元素取出來賦給另一個字串 * @author 萬星明 * @version 1.0
Yii2獲取指定表中的所有欄位
參考地址: https://blog.csdn.net/xinren369/article/details/51865424 public function actionTableField(){ $tableName= 'member'; (表名)
每天一道LeetCode-----尋找給定字串中重複出現的子串
Repeated DNA Sequences 在給定字串中尋找重複出現的序列,每個序列長度為10 可以採用unordered_map記錄每個序列出現的個數,將出現超過一次的新增到結果集中 程式碼如下 class Solution { publ
python 獲取指定資料夾的大小
def getdirsize(dirpath): size = 0 for root, dirs, files in os.walk(dirpath): size += sum([getsize(join(root, name)) for name in
zabbix:利用zabbix api獲取指定組中的主機的名字並將其修改
思路講解:首先利用hostgroup.get方法獲取zabbix組的id與名字,然後檢索獲得指定組的id,再利用host.get獲取該指定組下的所有主機的id與名字,最後利用host.update根據主機的id更新主機的名字。 程式碼如下: #!/usr/bin
Python獲取指定目錄下檔案數量及總大小
import os totalSize = 0 fileNum = 0 dirNum = 0 def visitDir(path): global totalSize glob
一道python面試題: 輸出字串中對稱的子字串的最大長度(最長迴文)
舉例: 輸入cool 則輸出2 輸入nan 則輸出3 輸入google 則輸出4 直接上程式碼: def count_sym(s): length = len(s) list_s = [] for i in range(length-1):