卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Python統(tǒng)計字符串子串重復次數(shù)

字符串子串重復次數(shù)是在字符串統(tǒng)計與處理中的一項基礎(chǔ)操作。在DNA序列的分析中,這是一個非常常見的操作,因為重復序列在基因組中出現(xiàn)的頻率很高。 遍歷字符串所有子串并存入字典 首先,我們可以使用遍歷的

字符串子串重復次數(shù)是在字符串統(tǒng)計與處理中的一項基礎(chǔ)操作。在DNA序列的分析中,這是一個非常常見的操作,因為重復序列在基因組中出現(xiàn)的頻率很高。

遍歷字符串所有子串并存入字典

首先,我們可以使用遍歷的方法來統(tǒng)計字符串中子串的重復次數(shù)。我們將每一個子串存放在一個字典中,如果字典中已經(jīng)存在該子串,則將對應(yīng)的值加一;否則,將該子串添加到字典中,并將其值設(shè)為1。

dic  {} 
s  'AAAA' 
for i in range(len(s)): 
    for j in range(i 2, len(s)): 
        t  s[i:j] 
        if t in dic: 
            dic[t]   1 
        else: 
            dic[t]  1

我們將這種方法稱為“蠕蟲”,因為它類似于蠕蟲在運動時無重復統(tǒng)計的特點。該方法可以獲取字符串中所有字符,并統(tǒng)計它們在字符串中出現(xiàn)的次數(shù)。

升級版方法引入查詢避免不必要的統(tǒng)計

為了提高效率,我們可以對上述方法進行改進。在比較之前,先引入查詢,避免不必要的統(tǒng)計。具體操作是,在遍歷字符串時,如果當前子串已經(jīng)在字典中存在,則跳過該子串繼續(xù)遍歷;否則,進行統(tǒng)計。

def worm(s): 
    dic  {} 
    for i in range(len(s)-3): 
        j  i 
        s1  s[i:i 2] 
        if s1 in dic: 
            continue 
        s2  s[i 2:] 
        while (s1) ! -1: 
            count  1 
            stemp  s2 
            while (s1) ! -1: 
                count   1 
                stemp  stemp[(s1)   len(s1):] 
            if not (s1 in dic): 
                dic[s1]  count 
            j  1 
            s1  s[i:j 2] 
            s2  s[j 2:] 
    return dic

這個方法是對前一種方法的升級版,引入了查詢操作,避免了不必要的統(tǒng)計。通過提高效率,我們可以更快地獲得重復子串的統(tǒng)計結(jié)果。

總結(jié)

希望生物信息工作者能夠相互交流,并提出修改建議,以進一步完善這些統(tǒng)計方法。

標簽: