我有一个名为test.txt
的文本文件。我想阅读它并返回文件中所有单词的列表(删除换行符)
这是我当前的代码:
def read_words(test.txt):
open_file = open(words_file, 'r')
words_list =[]
contents = open_file.readlines()
for i in range(len(contents)):
words_list.append(contents[i].strip('\n'))
return words_list
open_file.close()
运行此代码将生成以下列表:
['hello there how is everything ', 'thank you all', 'again', 'thanks a lot']
我希望列表如下所示:
['hello','there','how','is','everything','thank','you','all','again','thanks','a','lot']
将for循环中的
words_list.append(...)
行替换为以下内容:这将在空格字符上拆分每一行,然后将结果列表的每个元素添加到
words_list
或者作为将整个函数重写为列表的替代方法:
根据文件的大小,这似乎很容易:
我是这样写的:
使用
itertools
可以稍微缩短函数,但我个人认为结果可读性较差:第二个版本的好处是,它可以完全基于生成器,从而避免将文件中的所有字同时保存在内存中
相关问题 更多 >
编程相关推荐