从一大串单词组成一个列表

2024-10-01 04:52:42 发布

您现在位置:Python中文网/ 问答频道 /正文

使用此代码:

def createWordList(filename):
    file=open(filename,'r')
    s=file.read()
    file.close()
    L=s.split()
    return L

这个文本文件:http://www.cs.ucsb.edu/~buoni/cs8/labs/lab05/wordlist.txt

我将返回文本文件中所有单词的列表。 但当函数被称为la时:

createWordList('wordlist.txt') 

我的电脑(core-i5)大约需要5-10分钟才能完成任务,然后最终会死机。 不过,它可以在大约2秒钟内返回单个单词的字符串。你知道吗


Tags: 代码txthttpclosereadreturndefopen
2条回答
f=open('wordlist.txt','r+')
listofwords=[]
for line in f:
    listofwords.append(line)
print(listofwords)

我没有遇到任何问题。形成列表只花了0.049秒(不打印处理程序)。打印要花很多时间。你知道吗

“file”对象是一个iterable,您可以使用“for”语句对其进行迭代。这样内存效率更高。读这个:Methods of File Objects

因此,请尝试以下代码:

def createWordList(filename):
    myList = []
    input_file = open(filename, mode='r')
    for line in input_file:
        myList.append(line)
    return myList

工作原理:

  • 首先,创建空列表。你知道吗
  • 打开输入文件。你知道吗
  • 逐行迭代文件对象。你知道吗
  • 将每行追加到列表中。你知道吗
  • 然后,返回列表。你知道吗

整个文件的处理过程不超过3秒钟。你知道吗

相关问题 更多 >