我正在创建一个包含2,000个字符串条目的列表变量的文件。
请注意我在谈论运行代码时并没有谈论,但正当我打字创建文件时,我的计算机开始占用大量内存。一旦我删除第6行中的所有单词就会清除。
我在IDLE编辑。 列表在这里:http://pastebin.com/uwpKriZ3
FYI
以下是缩写示例代码:
import random
# The following line is unwrapped and, in the actual script,
# contains 26431 characters comprising 2000 words:
list1 = ['aback', 'abaft', 'abandoned', 'abashed', 'aberrant', 'abhorrent', 'abiding']
rndword = random.choice(list1)
brokenword = list(rndword)
答案 0 :(得分:1)
该变量赋值行长度为26431个字符,甚至可以使emacs运行缓慢。尝试执行查找/替换,用逗号替换每个逗号后跟换行符。
大多数情况下,在编写实际程序时,如果需要加载大量数据,可以从文件中读取数据。要在python中执行此操作:
#!/usr/bin/env python
import random
import io
list1 = [line.strip() for line in io.open('data.txt', 'r', encoding="utf-8-sig")]
rndword = random.choice(list1)
brokenword = list(rndword)
print(brokenword)
从外部源读取数据可识别数据和代码是不同的东西。它还鼓励代码可重用性/泛化。例如,您可能会想出一个可以应用于不同数据集的有用算法。为什么你可以将数据集放到源代码中,而不是需要修改它可以提供不同的数据?只需保持代码和数据分开,突然间,您就拥有了更清晰,更可重用的代码。