如何将字符串的一部分存储到字典中

时间:2015-02-04 15:46:46

标签: python string dictionary

例如我有

from collections import Counter
cnt = Counter()
    text = 'CTGGAT' 
    def freqWords(text, k):
        for i in text:
            cnt [i] += 1  
        print cnt

输出:计数器({'A':10,'C':9,'T':8,'G':4})

返回一个很好的字典,但是,我希望用k的值存储我的项目。像这样,如果k = 2,那么dict将填充以下值: CT,TG,GG,GA,AT。如果k = 3则:CTG,TGG,GGA,GAT。

1 个答案:

答案 0 :(得分:0)

您的for i in text会对text的字符进行迭代。您必须迭代text减去k的长度并获取text的子字符串:

def freqWords(text, k):
    return Counter(text[i:i+k] for i in xrange(len(text) - k))

的工作原理如下:

freqWords('CTGGAT', 2)
# Counter({'GG': 1, 'TG': 1, 'GA': 1, 'CT': 1})