用python实现编写程序,打开一篇英文文章(存在当前目录下的文件in.txt中),为该文章生成词汇表(存到当前目录下的另一个文件words.txt中)。文章中单词指的是只由小写或大写字母组成的字符串,但词汇表中的单词都是以小写字母的形式出现,若文章中出现多个大小写无关的相同单词,只在词汇表中生成一个单词。假设生成的词汇表中单词个数不会超过100个,且每个单词的长度不会超过20。词汇表中的单词以字典顺序由小到大存放。 【输入形式】 输入的英文文章存储在当前目录下的文件in.txt中。 【输出形式】 输出的词汇表存储到当前目录下的文件words.txt中,每个单词独占一行,以字典顺序由小到大存放。
时间: 2024-01-22 13:18:18 浏览: 63
采用python程序设计语言,进行分词,再去掉停用词和标点符号等,生成文档的词典
以下是Python实现的代码:
```python
import string
# 打开文件并读取文章
with open('in.txt', 'r') as f:
article = f.read()
# 将文章中的标点符号和数字替换为空格
for c in string.punctuation + string.digits:
article = article.replace(c, ' ')
# 将文章中的单词转换为小写形式,并去重
words_set = set(article.lower().split())
# 将单词转换为列表,并按字典顺序排序
words_list = sorted(list(words_set))
# 将单词列表写入文件
with open('words.txt', 'w') as f:
for word in words_list:
f.write(word + '\n')
```
首先打开文件并读取文章,然后将文章中的标点符号和数字替换为空格,这样可以将文章中的单词分离出来。接着将单词转换为小写形式,并使用set去重,得到词汇表中的单词集合。最后将单词集合转换为列表,并按字典顺序排序,然后将单词列表写入文件。
阅读全文