如何匹配特定字母并计算其频率? [复制]
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个字母序列?
如何使用正则表达式查找具有特定起始字符串的所有匹配项? [复制]