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

How to store parts of a string into a 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})

returns 一本不错的字典,但是,我想按 k 的值存储我的项目。像这样,如果 k=2,则字典将填充以下值: CT、TG、GG、GA、AT。如果 k=3,则:CTG、TGG、GGA、GAT。

您的 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})