gpt4 book ai didi

python - 排序值(for 循环)

转载 作者:太空宇宙 更新时间:2023-11-04 07:01:42 25 4
gpt4 key购买 nike

我正在使用 python 2.7 开发一个简单的核苷酸计数器,在我编写的其中一种方法中,我想打印 g、c、a、t 值按它们出现的次数排序在基因表中。有什么更好的方法可以做到这一点?提前致谢!

 def counting(self):
gene = open("BRCA1.txt", "r")
g = 0
a = 0
c = 0
t = 0
gene.readline()
for line in gene:
line = line.lower()
for char in line:
if char == "g":
g += 1
if char == "a":
a += 1
if char == "t":
t += 1
if char == "c":
c += 1
print "number of g\'s: %r" % str(g)
print "number of c\'s: %r" % str(c)
print "number of d\'s: %r" % str(a)
print "number of t\'s: %r" % str(t)

最佳答案

使用 Counter类。

from collections import Counter
counter = Counter(char for line in gene for char in line.lower() )
for char, count in counter.most_common():
print "number of %s\'s: %d" % (char, count)

关于python - 排序值(for 循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20306203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com