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

2024-09-30 16:36:03 发布

您现在位置:Python中文网/ 问答频道 /正文

例如我有

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。你知道吗


Tags: 项目textinfromimportfor字典def
1条回答
网友
1楼 · 发布于 2024-09-30 16:36:03

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

相关问题 更多 >