我一直在尝试调整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)
该函数当前为每个单独的字母输出计数。现在它打印这个:
^{pr2}$理想情况下,我希望它打印如下:
{'CTA': 2, 'TAG': 3, 'CGC': 1, 'GAG': 2 ... }
我对python还很陌生,这很困难。在
谢谢你!在
使用^{} 可以很快完成此操作。在
编辑:详细说明
chunk_string
:它以字符串
^{pr2}$s
和块大小n
作为参数。每个s[i:i+n]
是一个长度为n
个字符的字符串片段。循环迭代有效的索引,其中字符串可以被切片(0
到len(s)-n
)。然后将所有这些片段分组到一个列表理解中。等效方法为:这基本上是Jared Goguen发布的第一个答案,但是作为对OP的评论的回复,对于一种不导入模块的可能方法:
或者,如果你是一句话的粉丝:
^{pr2}$相关问题 更多 >
编程相关推荐