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

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

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

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

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

首先,我們可以使用遍歷的方法來統(tǒng)計(jì)字符串中子串的重復(fù)次數(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

我們將這種方法稱為“蠕蟲”,因?yàn)樗愃朴谌湎x在運(yùn)動時無重復(fù)統(tǒng)計(jì)的特點(diǎn)。該方法可以獲取字符串中所有字符,并統(tǒng)計(jì)它們在字符串中出現(xiàn)的次數(shù)。

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

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

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)計(jì)。通過提高效率,我們可以更快地獲得重復(fù)子串的統(tǒng)計(jì)結(jié)果。

總結(jié)

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

標(biāo)簽:

<center id="8ij9o"></center>
<label id="8ij9o"></label>

  1. <li id="8ij9o"><xmp id="8ij9o"><li id="8ij9o"></li>
    <li id="8ij9o"></li>