str是一串随机字母,如何分别统计每任意数目字母在str中的个数?

比如dlidweafewfawfhaiofhylowueffsacetvrseseteveryvsh,可能非常长。如何统计aa,ab,ac...ax,ay,az,ba,bb,bc...zx,zy,zz每串的出现次数?更进一步,3个及以上字母串的出现频率?

只有套循环硬算的办法吗?

我不清楚你心里的硬算是个什么数量级的概念。

我按你的要求写了一个python代码,运算量是O(n)。

接下来就是将这个dic字符串字典投放到26的n次方个字符串的字典anotherDic中去。没有在dic中出现的字符串,默认出现次数为0次。

s = "dlidweafewfawfhaiofhylowueffsacetvrseseteveryvsh"
leng = 3
dic = dict()
for i in range(len(s)-leng):
    sub = s[i:i+leng]
    if sub in dic.keys():
        dic[sub] += 1
    else:
        dic[sub] = 1

print(dic)