【发布时间】:2016-07-25 21:56:00
【问题描述】:
我一直在尝试调整我的 python 函数来计算字母组而不是单个字母,但我遇到了一些麻烦。这是我必须计算单个字母的代码:
my_seq = "CTAAAGTCAACCTTCGGTTGACCTTGAAAGGGCCTTGGGAACCTTCGGTTGACCTTGAGGGTTCCCTAAGGGTT"
def count_letters(str):
counts = {}
for c in str:
if c in counts:
counts[c]+=1
else:
counts[c]=1
return counts
counts = count_letters(my_seq)
print(counts)
该函数当前会为每个单独的字母输出计数。现在它打印这个:
{'C': 23, 'T': 30, 'G': 30, 'A': 20}
理想情况下,我希望它打印如下内容:
{'CTA': 2, 'TAG': 3, 'CGC': 1, 'GAG': 2 ... }
我对 python 很陌生,事实证明这很困难。
【问题讨论】:
-
你要计算的单词列表在哪里?
-
@IronFist 我只想计算所有 3 个字母的组。有没有办法让代码在不定义特定组的情况下做到这一点?
-
只是为我们的朋友搜索引擎拼写出来,这是在长度为 n 的所有子序列上寻找一个滑动窗口(在本例中 n=3)。
标签: python string function count