(找不到)python可数属性最常见()

(找不到)python可数属性最常见(),python,python-2.7,python-3.x,nltk,Python,Python 2.7,Python 3.x,Nltk,我是新手。我正在浏览nltk书和另一本Python介绍书。 早些时候,我在nltk的书中遇到了最常见的()函数,尽管当时我无法让它工作,也无法找到解决方案,但我创建了一个小函数,在这个特定的练习中实现了这个技巧,并继续进行。 现在我再次需要它,但我不认为我能够很容易地绕过它(这个练习是关于特定文本中最常见的单词长度),而且我知道我会在后面的示例中再次找到它,我希望能够跟上,因为,正如我所说,我是一个新手 理论上,我应该能够做到: fdist = FreqDist(len(w) for w in

我是新手。我正在浏览nltk书和另一本Python介绍书。 早些时候,我在nltk的书中遇到了最常见的()函数,尽管当时我无法让它工作,也无法找到解决方案,但我创建了一个小函数,在这个特定的练习中实现了这个技巧,并继续进行。 现在我再次需要它,但我不认为我能够很容易地绕过它(这个练习是关于特定文本中最常见的单词长度),而且我知道我会在后面的示例中再次找到它,我希望能够跟上,因为,正如我所说,我是一个新手

理论上,我应该能够做到:

fdist = FreqDist(len(w) for w in text1)

fdist.most_common()
[(3, 50223), (1, 47933), (4, 42345), (2, 38513) ...
但是,Python告诉我:

AttributeError: 'FreqDist' object has no attribute 'most_common'
我发现最常见的()是counter对象()和()的属性。我的想法是,也许我应该导入一些东西(模块?),但我尝试导入的东西要么不起作用(未定义或不存在消息),要么不包含它——我尝试了

import collections 
没有错误,但是当我输入dir(collections)或dir(builtins)时,most_common()没有列出

我安装了2.7和3.0(大部分时间都是windows,偶尔在我的虚拟机上使用ubuntu)。我会继续搜索,但非常感谢您的输入。这感觉有点基础,但我正在学习,至少目前我自己还不能理解。 再次感谢。

不是

使用方法获取按排序顺序排列的项目列表(最频繁的第一个)

或者只使用集合。计数器:

>>> from collections import Counter
>>> c = Counter([1, 2, 1, 2, 1])
>>> c.most_common()
[(1, 3), (2, 2)]

一些旧版本的nltk没有最常见的
模块。这可以通过打印
dir(fdist)
来验证

如果找不到,只需使用pip升级nltk版本,如下所示:

sudo pip安装-U nltk


它应该会起作用。

非常感谢,这对本次练习和上一次练习都有效。我仍然想知道,为什么他们在书中用most_common()作为名称-后来更改了它,这样就不会与collections.Counter?产生混淆。因为相同的功能在
Counter.most_common
中实现<代码>c=计数器(一些列表);c、 最常见(:10)
=
fd=FreqDist(一些列表);fd.最常见(:10)
>>> from collections import Counter
>>> c = Counter([1, 2, 1, 2, 1])
>>> c.most_common()
[(1, 3), (2, 2)]