Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算Python字符串中出现的字母数_Python_String - Fatal编程技术网

计算Python字符串中出现的字母数

计算Python字符串中出现的字母数,python,string,Python,String,所以我得到了一个DNA序列 ACCAGAGCGGCACAGCAGCGACATCAGCACTAGCACTAGCATCAGCATCAGCATCAGC CTACATCATCACAGCAGCATCAGCATCGACATCAGCATCAGCATCAGCATCGACGACT ACACCCCCCCCGGTGTGTGTGGGGGGTTAAAAATGATGAGTGATGAGTGAGTTGTGTG CTACATCATCACAGCAGCATCAGCATCGACATCAGCATCAGCATCAGCATCGACGACT

所以我得到了一个DNA序列

ACCAGAGCGGCACAGCAGCGACATCAGCACTAGCACTAGCATCAGCATCAGCATCAGC
CTACATCATCACAGCAGCATCAGCATCGACATCAGCATCAGCATCAGCATCGACGACT
ACACCCCCCCCGGTGTGTGTGGGGGGTTAAAAATGATGAGTGATGAGTGAGTTGTGTG
CTACATCATCACAGCAGCATCAGCATCGACATCAGCATCAGCATCAGCATCGACGACT
TTCTATCATCATTCGGCGGGGGGATATATTATAGCGCGCGATTATTGCGCAGTCTACG
TCATCGACTACGATCAGCATCAGCATCAGCATCAGCATCGACTAGCATCAGCTACGAC
我需要数一数基数


出于某种原因,它有时可以在同一个字符串中交替使用大写或小写。

出于好奇,您是否有理由不使用sequence.lower().count(base.lower())来代替?我猜这是为了让它更快,但我不是100%确定。这样不一定更快,但占用的内存更少。由于DNA序列可能很长,这一点很重要。是的,因为你无论如何都需要做两次传递,所以最好让两次都计算一次(内存节约),而不是让一次占用额外的临时内存。如果您确实有空闲内存,则循环外的单个
tmp=sequence.lower()
(然后以小写形式循环
'acgt'
只执行
tmp.count(base)
)会更快。在不区分大小写的RE上使用finditer进行单次传递可能最快,但比这些方法简单得多;-)。请用[家庭作业]标签标记家庭作业。我认为这个问题很好。即使是家庭作业,也是一个有趣的问题。为什么不在这里问呢+从我这里得到1
for base in 'ACGT':
  print base, thesequence.count(base) + thesequence.count(base.lower())