码迷,mamicode.com
首页 > 其他好文 > 详细

统计english article 的英文单词

时间:2018-03-17 12:56:45      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:英文   body   gpo   not   pos   replace   class   text   print   

# -*- coding: utf-8 -*-

import string
def extend_word(text):
if text.find(‘\‘‘) > 0:
old2new = dict()
words = text.split()
for word in words:
if word.find(‘\‘‘) > 0:
parts = word.split(‘\‘‘)
if parts[1] == ‘m‘:
parts[1] = ‘am‘
elif parts[1] == ‘s‘:
parts[1] = ‘is‘
elif parts[1] == ‘re‘:
parts[1] = ‘are‘
elif parts[1] == ‘t‘:
parts[1] = ‘not‘
elif parts[1] == ‘ve‘:
parts[1] = ‘have‘
elif parts[1] == ‘ll‘:
parts[1] = ‘will‘
elif parts[1] == ‘d‘:
if words[words.index(word) +1] == ‘better‘:
parts[1] = ‘had‘
else:
parts[1] = ‘would‘
if parts[0].endswith(‘n‘):
parts[0] =parts[0][:-1]
old2new[word] = ‘ ‘.join(parts)
_text = text
for old_word in old2new.keys():
_text = _text.replace(old_word, old2new[old_word])
return _text


def show_in_order(record):
items = sorted(records.items(), key=lambda item:item[1], reverse=True)
for item in items:
print(item[0], item[1])

with open(‘1.txt‘, ‘r‘) as file:
article = file.read()
no_pun_text = article
_punctuation = string.punctuation.replace(‘\‘‘, ‘‘)
for pun in _punctuation:
no_pun_text = no_pun_text.replace(pun, ‘‘)
complete_text = extend_word(no_pun_text)
records = dict()
for word in complete_text.lower().split():
records[word] = records.get(word, 0) + 1
show_in_order(records)

统计english article 的英文单词

标签:英文   body   gpo   not   pos   replace   class   text   print   

原文地址:https://www.cnblogs.com/Benguoby2/p/8589025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!