我的文件大致包含所有英文单词(~60k字,~500k字符).我想测试我收到的某个单词是否是"英文"(即如果这个确切的单词在列表中).
在Python中执行此操作的最有效方法是什么?
简单的解决方案是将文件加载到列表中并检查该单词是否在该列表中.列表可以进行排序,我相信这会将复杂性降低到O(logn).但是我不确定Python如何实现搜索列表,以及如果这么大的列表在内存中是否会有性能损失.我可以"滥用"我可以对单词长度设置上限的事实吗?(例如,说最长的一个是15个字符长).
请注意我在具有大量内存的计算机上运行应用程序,因此我对内存消耗的关注程度低于速度和CPU利用率.
谢谢
Python 代码示例:
L = ['foo', 'bar', 'baz'] # Your list
s = set(L) # Converted to Set
print 'foo' in s # True
print 'blah' in s # False
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10572 次 |
最近记录: |