计算每个符号在字符串中出现的次数 - python

Posted

技术标签:

【中文标题】计算每个符号在字符串中出现的次数 - python【英文标题】:Count the number of times each of the symbols appears in a string - python 【发布时间】:2019-10-12 02:52:18 【问题描述】:

在这个问题中,给你一个字符串 s,它代表一个 DNA 字符串。字符串 s 由符号“A”、“C”、“G”和“T”组成。长度为 21 的 DNA 字符串的一个示例是“ATGCTTCAGAAAGGTCTTACG”。

你的任务是编写一个代码来计算每个符号“A”、“C”、“G”和“T”在 s 中出现的次数。您的代码应该生成一个包含 4 个整数的列表并将其打印出来。

# Here is the DNA string:
    s = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
    # Type your code here

错误地,我写的字符串在字母之间有空格。

s='A G C T T T T C A T T C T G A C T G C A A C G G G C A A T A T G T C T C T G T G T G G A T T A A A A A A A G A G T G T C T G A T A G C A G C'
list_of_symbols=s.split(sep=' ')
list_of_symbols
word_count_dictionary=
for A in list_of_symbols:
    if A not in word_count_dictionary:
        word_count_dictionary[A]=1
    else:
        word_count_dictionary[A]+=1

【问题讨论】:

将您的字符串附加到列表并使用 Counter 方法:***.com/questions/2600191/… 【参考方案1】:

您正在尝试做collections.Counter 所做的事情:

from collections import Counter

s = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'

print(Counter(s))

从那里获取计数列表,使用:

Counter(s).values()

【讨论】:

【参考方案2】:

您基本上是在正确的轨道上,但没有必要拆分字符串,因为 Python 已经为您提供了遍历字符串的每个字符的能力。

您尝试的修改版本是:

s = 'AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC'
word_count_dictionary = 

for c in s:
    if c not in word_count_dictionary:
        word_count_dictionary[c] = 1
    else:
        word_count_dictionary[c] += 1

print(word_count_dictionary)

【讨论】:

以上是关于计算每个符号在字符串中出现的次数 - python的主要内容,如果未能解决你的问题,请参考以下文章

Python:计算python数据框中每个数字的出现次数

使用 Python 和正则表达式计算文本中的标点符号

错误:计算数据框中的出现次数时无需重复

NLTK入门

JAVA经典题--计算一个字符串中每个字符出现的次数

用SQL计算同一个字符(汉字、字母、数字、表情、符号)连续重复出现的次数