split函数python统计英文单词_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...
題目: 用python實(shí)現(xiàn)統(tǒng)計(jì)一篇英文文章內(nèi)每個(gè)單詞的出現(xiàn)頻率,并返回出現(xiàn)頻率最高的前10個(gè)單詞及其出現(xiàn)次數(shù)。
常規(guī)解法
怎么判定單詞?
1 不是字母的特殊字符作為分隔符分割字符串 (避免特殊字符的處理不便,全部替換成"")
2 正則分割
3 遍歷字符串,取每個(gè)word
4 正則匹配
怎么統(tǒng)計(jì)個(gè)數(shù)?
將wordlist的word和word的個(gè)數(shù)放入dict,排序
import re
with open('1.txt', 'r') as f:
word_dict = {} # 用于統(tǒng)計(jì) word:個(gè)數(shù)
word_list = [] # 用于存放所有單詞
for line in fd.readlines():
for word in line.strip().split(" "):
word_list.append(re.sub(r"[^a-z]+", "", word.lower()))
word_sets = list(set(word_list)) # 確保唯一
word_dict = {word: word_list.count(word) for word in word_sets if word}
result = sorted(word_dict.items(), key=lambda d: d[1], reverse=True)[:10]
print(result)
利用collections模塊
import re
from collections import Counter
with open('1.txt', 'r', ) as f:
words = f.read() # 將文件的內(nèi)容全部讀取成一個(gè)字符串
count = Counter(re.split(r"\W+", words)) # 以單詞為分隔
result = count.most_common(10) # 統(tǒng)計(jì)最常使用的前10個(gè)
print(result)
總結(jié)
以上是生活随笔為你收集整理的split函数python统计英文单词_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python四级考试时间_四级英语考试如
- 下一篇: kaggle房价预测特征意思_机器学习-