当前位置:优草派 > 问答 > Python问答

python统计文章单词出现次数

标签: Python  Python应用  Python  作者: cxdawf

回答:

随着信息时代的发展,人们的阅读量越来越大,文章的数量也越来越多,有时候我们需要对文章进行分析处理,这时候统计文章中单词的出现次数就显得十分重要。Python作为一门流行的编程语言,其强大的数据处理能力可以帮助我们轻松地统计文章中单词的出现次数。本文将从多个角度分析Python如何统计文章中单词的出现次数。

一、Python读取文件

首先,我们需要用Python读取文章的内容。Python可以使用open函数来打开一个文件,如下所示:

```python

with open("article.txt", "r", encoding="utf-8") as f:

content = f.read()

```

其中,"article.txt"是我们要读取的文章,"r"表示以只读方式打开文件,"encoding='utf-8'"表示以UTF-8编码读取文件内容。读取后的文章内容保存在变量content中。

二、Python分词

接下来,我们需要对文章进行分词。Python有很多分词库可以使用,如jieba、NLTK等。这里我们以jieba库为例,使用如下代码进行分词:

```python

import jieba

words = jieba.lcut(content)

```

其中,jieba.lcut()函数可以将文章内容分词,并返回一个列表,列表中的每个元素代表一个单词。

三、Python统计单词出现次数

有了文章分词后的单词列表,接下来我们就可以统计每个单词在文章中出现的次数了。Python可以使用字典来保存每个单词的出现次数,如下所示:

```python

word_count = {}

for word in words:

if word in word_count:

word_count[word] += 1

else:

word_count[word] = 1

```

其中,word_count是保存单词出现次数的字典,遍历单词列表words,如果单词已经在字典中出现过,就将其出现次数加1,否则将其出现次数设为1。

四、Python排序

最后,我们需要将单词按照出现次数从大到小排序。Python可以使用sorted函数进行排序,如下所示:

```python

sorted_word_count = sorted(word_count.items(), key=lambda x:x[1], reverse=True)

```

其中,sorted函数的参数key表示按照字典的值进行排序,reverse=True表示按照降序排列。排序后的结果保存在sorted_word_count中,它是一个元组的列表,每个元组包含一个单词和它在文章中出现的次数。

五、完整代码

综合以上步骤,我们可以得到完整的Python代码:

```python

import jieba

with open("article.txt", "r", encoding="utf-8") as f:

content = f.read()

words = jieba.lcut(content)

word_count = {}

for word in words:

if word in word_count:

word_count[word] += 1

else:

word_count[word] = 1

sorted_word_count = sorted(word_count.items(), key=lambda x:x[1], reverse=True)

for word, count in sorted_word_count:

print(word, count)

```

六、总结

本文介绍了Python如何统计文章中单词的出现次数。首先,我们用Python读取文章的内容;然后,使用分词库对文章进行分词;接着,使用字典统计每个单词在文章中出现的次数;最后,使用排序函数将单词按照出现次数排序。Python的强大功能帮助我们轻松地完成了文章单词出现次数的统计,为我们提供了便利。

文章

TOP 10
  • 周排行
  • 月排行