当前位置: 代码迷 >> python >> Python中的词频程序
  详细解决方案

Python中的词频程序

热度:82   发布时间:2023-06-19 09:12:26.0

假设我有一个称为单词的单词列表,即单词= [“ hello”,“ test”,“ string”,“ people”,“ hello”,“ hello”],并且我想创建一个字典以获取单词频率。

假设字典被称为“计数”

counts = {}
for w in words:
    counts[w] = counts.get(w,0) + 1

我唯一不真正了解的部分是counts.get(w.0)。 这本书说,通常您会使用counts [w] = counts [w] + 1,但是第一次遇到新单词时,它不会出现在counts中,因此会返回运行时错误。 一切都很好,但counts.get(w,0)到底是做什么的? 具体来说,(w,0)表示法是什么?

如果您有字典,则get()是一种方法,其中w是保存要查找的单词的变量,而0是默认值。 如果字典中不存在w ,则get返回0

FWIW,在Python 2.7及更高版本中,您可能更喜欢对collections.Counter进行操作,例如:

In []: from collections import Counter
In []: c= Counter(["hello", "test", "string", "people", "hello", "hello"])
In []: c
Out[]: Counter({'hello': 3, 'test': 1, 'people': 1, 'string': 1})

如果键不存在,则字典的get()方法允许使用默认值作为第二个参数。 所以counts.get(w,0)给你0 ,如果w中不存在counts

字典上的get方法返回存储在键中的值,或者返回由可选的第二个参数指定的默认值。 在您的情况下,您告诉它“如果该键尚未在字典中,则检索0作为先前的计数,然后将其添加到该值并将其放在字典中。”