如何匹配特定字母并计算其频率? [复制]

Posted

技术标签:

【中文标题】如何匹配特定字母并计算其频率? [复制]【英文标题】:how can I match specific letter and count its frequency? [duplicate] 【发布时间】:2016-09-02 22:57:58 【问题描述】:

使用正则表达式,我想计算特定的字母。我做了一个如下所示的匹配对象。但不知道如何计算它的频率。大多数计数示例都是针对单词的,因此我找不到很好的参考。

f = open("C:\Python27\test.txt")
raw_sentence = f.read
upper_sentence = raw_sentence.upper()
match = re.findall(r"A", upper_sentence)

我应该像其他字数统计代码一样制作一些列表数据吗?

【问题讨论】:

标题是字母,描述是单词,是哪一个?拥有示例输入和预期输出也会很有帮助。 对不起,是信。而我想要的结果是像这样的“A:3”,“B:6” 昨天可能重复:How can I get histogram number with pairs by using python code? 【参考方案1】:

只需使用str.count:

raw_sentence.upper().count('A')

如果你想计算多个元素,最好使用collections.Counter

>>> s = 'abcabcsdab'
>>> import collections
>>> collections.Counter(s)
Counter('a': 3, 'b': 3, 'c': 2, 'd': 1, 's': 1)

【讨论】:

以上是关于如何匹配特定字母并计算其频率? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Regex-在给定数量的3个字母序列之后,如何匹配特定的3个字母序列?

迭代一个数组并只返回匹配的值? [复制]

如何使用正则表达式查找具有特定起始字符串的所有匹配项? [复制]

iPhone:检测特定频率(幅度)的复制声音

如何匹配两个 DataFrame 中的特定值并在 Python Pandas 中添加额外的列? [复制]

复制字符串的特定部分并根据正则表达式添加到每行的开头,如果在 Python2 中不匹配则传递