0
最简洁的方法是使用Python提供的工具。
from future_builtins import map # Only on Python 2
from collections import Counter
from itertools import chain
def countInFile(filename):
with open(filename) as f:
return Counter(chain.from_iterable(map(str.split, f)))
map(str.split, f)
使生成器list
从每一行返回s个单词。包装chain.from_iterable
将其转换为单个生成器,一次生成一个单词。Counter
接受一个可迭代的输入,并计算其中的唯一值。最后,return
一个类似 dict
的对象(Counter
),用于存储所有唯一单词及其计数,并且在创建期间,您一次只存储一行数据和总计数,而不是一次存储整个文件。
收藏