呃呵呵哈哈啥 2021-03-12 22:08 采纳率: 100%
浏览 37
已采纳

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

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

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

  • 写回答

1条回答 默认 最新

  • ProfSnail 2021-03-13 01:00
    关注

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

    我按你的要求写了一个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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?