我正在尝试编写一个程序来创建一个2gb(大约)大小的英文单词文件。并从这2gb文件尝试使用外部排序打印单词的频率。外部排序后,它可以打印计数(频率)
答案 0 :(得分:3)
Python有一个内置函数sorted
,可以对迭代进行排序。但更好的是,在2.7及更高版本中,它有一个用于计算事物频率的内置集合。假设你的大文件每行有一个单词,你可以这样做:
from collections import Counter
with open(<giant-dictionary>) as words:
counts = Counter(words)
这将需要几分钟。