【发布时间】:2015-11-23 10:39:09
【问题描述】:
我有一个 txt 文件中包含 400 万个单词的列表,我想将其添加到列表中。我有两个选择:
l=[line for line in open(wordlist)]
或:
wordlist = file.readlines()
readlines() 似乎要快得多,我猜这是因为数据一次性读入内存。第一个选项会更好地节省内存,因为它一次读取一行,这是真的吗?复制时 readlines() 是否使用任何类型的缓冲区?一般来说哪个最好用?
【问题讨论】:
-
如果您在两种情况下都有足够的内存空间来处理结果列表,您可以使用 readline() 一次读取一行或使用 readlines() 读取所有行...您将如何处理之后的单词列表,它将告诉您应该做什么......如果您不需要随时访问它们,拥有 400 万个单词列表是没有意义的。