首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到特定类型的单词并对其进行计数

如何找到特定类型的单词并对其进行计数
EN

Stack Overflow用户
提问于 2012-09-01 08:01:57
回答 2查看 171关注 0票数 1

我正在尝试识别一个特定的单词,然后对其进行计数。我需要保存每个标识符的计数。

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

代码语言:javascript
复制
risk risk risk free interest rate 

asterisk risk risk 

market risk risk [risk

*我需要计算‘风险’而不是星号。可能还有其他与风险相关的词,所以不要坚持上面的例子。我需要找到的是“风险”。如果风险以<(或.!*> ),等等。我也需要数一数。但如果风险词是像星号这样的词的一个组成部分,那么我就不应该计算它。

这是我到目前为止所拥有的。但是,它返回星号和[风险以及风险的计数。我试着使用正则表达式,但总是出错。另外,我是Python的初学者。如果任何人有任何想法,请帮助我!!^^谢谢。

代码语言:javascript
复制
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]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-01 08:04:09

代码语言:javascript
复制
if 'risk' == word:
    print word, word_dict[word]
票数 0
EN

Stack Overflow用户

发布于 2012-09-01 08:09:59

实际上,使用正则表达式很容易做到这一点:

代码语言:javascript
复制
import re
haystack = "risk asterisk risk brisk risk"
prog = re.compile(r'\brisk\b')
result = re.findall(prog, haystack)
print len(result)

这将输出"3“。

\b regexp表示任何单词分隔符,包括行尾/行开头。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12223803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档