python - 如何找到特定类型的单词并计算它

标签 python

我正在尝试识别一个特定的词,然后计算它。我需要保存每个标识符的计数。

例如,一个文档可能包含如下内容:

risk risk risk free interest rate 

asterisk risk risk 

market risk risk [risk

*我需要计算“风险”而不是星号。可能还有其他与风险相关的词,所以不要拘泥于上面的例子。我需要找到的是“风险”。如果风险以 < [ ( 或 . ! * > ] ) 等结束或开始,我也需要计算它。但是如果风险词是像星号这样的词的组成部分,那么我不应该算它。

这是我目前所拥有的。但是,它会返回星号和 [risk 以及 risk.我尝试使用正则表达式,但不断出现错误。另外,我是 Python 的初学者。如果有人有任何想法,请帮助我!^^ 谢谢。

from collections import defaultdict
word_dict=defaultdict(int)

for line in mylist:
    words=line.lower().split()  # converted all words to lower case
    for word in words:
        word_dict[word]+=1

for word in word_dict:
    if 'risk' in word:
       word, word_dict[word]

最佳答案

用正则表达式做这个其实很容易:

import re
haystack = "risk asterisk risk brisk risk"
prog = re.compile(r'\brisk\b')
result = re.findall(prog, haystack)
print len(result)

这会输出“3”。

\b 正则表达式表示任何单词定界符,包括行尾/行首。

关于python - 如何找到特定类型的单词并计算它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223803/

相关文章:

python - 协方差不是正定的

python - 如何查找字典中是否存在键?

python - 在 Python 中创建一个名为 'id' 的属性是不是很糟糕?

python - 如何在Django中实现这个模型?

Python - 混合两个音频 block

Python 3 [类型错误 : 'str' object cannot be interpreted as an integer] when working with sockets

python - 从 Python 到 Html 的解析时间

python - Sklearn 随机森林回归器出错

python - Django Rest Framework - 序列化后获取模型实例

python - 使用带有设备名称的 pyudev 检索 USB 信息