【问题标题】:Count occurences of words in file [duplicate]计算文件中单词的出现次数[重复]
【发布时间】:2020-01-09 10:08:31
【问题描述】:

我想使用字典计算文件中每个单词的出现次数(文件中包含的所有单词都是小写的,并且文件不包含任何标点符号)。

我想优化我的代码,因为我知道列表会花费不必要的时间。

def create_dictionary(filename):
    d = {}
    flat_list = []
    with open(filename,"r") as fin:
        for line in fin:
            for word in line.split():
                flat_list.append(word)
        for i in flat_list:
            if d.get(i,0) == 0:
                d[i] = 1
            else :
                d[i] +=1

        return d

例如,一个文件包含:

i go to the market to buy some things to 
eat and drink because i want 
to eat and drink

应该返回:

{'i': 2, 'go': 1, 'to': 4, 'the': 1, 'market': 1, 'buy': 1, 'some': 1, 'things': 1, 'eat': 2, 'and': 2, 'drink': 2, 'because': 1, 'want': 1}

我可以改进什么?

【问题讨论】:

标签: python file dictionary


【解决方案1】:

只需使用collections.Counter:

with open(filename,"r") as fin:
    print(Counter(fin.read().split()))

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    相关资源
    最近更新 更多