查看文章 |
统计长文章单词出现频率之defaultdict
2009-08-18 11:07
假设我们要打开一个名为big.txt的大文件做单词出现次数的统计。 千万别写出这样的代码: import re这样如果单词量为m, 词汇量为n的话,就是O(m * n / 2)的复杂度。也千万别为了少判断key是否存在而用try except 获取会出现的KeyError, 比较好的做法是用collections.defaultdict import re, collections这样所有出现的Key都会天生附带上一个默认值,不需要在引用前先行赋值。这样直接的好处就是复杂度直接变为O(n), 当然defaultdict还有不少其它用法,有兴趣的话可以help之。 |