這個問題在這里已經有了答案: 如何將串列(或可迭代的)拆分為大小均勻的塊? (68 個回答) 每第 n 個字符拆分字串? (17 個回答) 2 天前關閉。
我有一個很長的字串,我想從中讀取子字串并檢查它們發生了多少次。
從用戶那里獲取的子串計數應該用于檢查頻率。
例如:
S = "ABCDEFGHIJKLMNOPQRSTUVABCSDLSFKJJKLOP"
substringCount = 3
def foo(S):
pass
該函式應該回傳一個看起來像這樣的字典,
{'ABC':2,'DEF':1,'GHI':1,'JKL':2,'MNO':1,'PQR':1 and so on...}
每個key的長度為前面定義的3,可以是用戶自定義的,也可以是任意數字。
你怎么寫這樣的函式?這是什么邏輯?
uj5u.com熱心網友回復:
我可能會通過遞回來做到這一點,沿著
s = "ABCDEFGHIJKLMNOPQRSTUVABCSDLSFKJJKLOP"
userInput = int(input("Enter substring count: "))
def get_substring_count(s, userInput, res=None):
if res is None:
res = {}
if len(s) == 0 or len(s) < userInput:
return res
tmp_s = s[:userInput]
if tmp_s in res:
res[tmp_s] = 1
else:
res[tmp_s] = 1
return get_substring_count(s[1:], userInput, res)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/404571.html
標籤:
上一篇:如何根據字典的值字符快速過濾字典
下一篇:我怎樣才能把這本字典轉換成資料框
