- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Python 3.2/Windows 环境中开发单词出现次数统计应用程序。
谁能告诉我为什么以下内容不起作用?
from string import punctuation
from operator import itemgetter
N = 100
words = {}
words_gen = (word.strip(punctuation).lower() for line in open("poi_run.txt")
for word in line.split())
for word in words_gen:
words[word] = words.get(word, 0) + 1
top_words = (words.iteritems(), key=itemgetter(1), reverse=True)[:N]
for word, frequency in top_words:
print ("%s %d") % (word, frequency)
回溯错误是:
Message File Name Line Position
Traceback
<module> C:\Users\will\Desktop\word_count.py 13
AttributeError: 'dict' object has no attribute 'iteritems'
谢谢
注意
完整的工作代码:
from string import punctuation
from operator import itemgetter
N = 100
words = {}
words_gen = (word.strip(punctuation).lower() for line in open("poi_run.txt")
for word in line.split())
for word in words_gen:
words[word] = words.get(word, 0) + 1
top_words = sorted(words.items(), key=itemgetter(1), reverse=True)[:N]
for word, frequency in top_words:
print ("%s %d" % (word, frequency))
再次感谢各位
最佳答案
在 Python 3 中,在您之前使用 iteritems
的地方仅使用 items
。
新items()
返回 dictionary view object支持迭代以及 len
和 in
。
当然,在 top_words = (words.iteritems(), ...
中,您忘记调用 sorted
函数。
编辑:请参阅我的其他答案以获得更好的解决方案。
关于Python 字数统计和排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888786/
嗨,我是excel的初学者,所以请原谅我的无知。 最近我发现自己需要一个函数来计算一系列单元格中的单词数(当然,将空单元格计为 0)。 在网上冲浪我发现了这个简单的 VBA 代码: Function
我是编程新手,这段代码不想工作,而且我已经没有想法了。它可以很好地读取文件,但不会计算任何内容。我知道它与 while 语句有关。这是针对两个单独的文件,但它们都需要显示在末尾。 #define _C
我用 Java 实现了一个字数统计程序。基本上,该程序需要一个大文件(在我的测试中,我使用了一个仅包含数字的 10 GB 数据文件),并计算每个“单词”出现的次数 - 在这种情况下,一个数字(例如 2
长话短说:1986 年,一位面试官要求 Donald Knuth 编写一个程序,输入文本和数字 N,并列出按频率排序的 N 个最常用的词。 Knuth 编写了一个 10 页的 Pascal 程序,Do
我有一个包含 2 个字段的表: cnt str -- ------- 60 the 58 of 4 no 30 the 2 of 1 no 我想要这样的结果 cnt
各位seoer应该都明白,要想网站有排名,收录是前提条件,没有收录完全谈不上排名、流量。但是内页的收录往往是seo最大的难题之一,笔者手上有一堆网站都是只被收录了首页或者几页内页,因此解决内页收录问
是否可以设置一个 checkstyle 规则来计算评论中的字数,然后在字数低于定义的限制时显示问题。我在checkstyle上搜索了Javadoc属性,但没有发现有用的东西。 例如: /** * S
我有一个名为“input.txt”的文本文件,其中包含: test line one test line two final line 编译并运行后通过 $ ./a.exe #include
我目前在带有 pandas 0.23.4 的 Jupyter Notebook (v5.6.0) 中使用 python3.7。 我编写了代码来标记一些日语单词,并成功应用了一个字数统计函数,该函数返回
我刚刚用出色的 Redactor 替换了 CKEditor(它伴随着大量与 AJAX 更新 DOM 相关的神秘问题) .我们以前使用 CKEditor 插件为我们提供富文本编辑器的字符数。我怎样才能用
我想在 Eclipse 集群上运行 hadoop 字数统计。但我收到错误。我更改了输出目录,但程序行为没有变化。你能帮我解决这个错误吗: 2013-10-23 23:06:13,783 WA
我正在尝试运行一个 wordcount 程序,但我收到以下代码的错误 job.setInputFormatClass(TextInputFormat.class); job.setOutputForm
这是 Hadoop 字数统计 java map 和 reduce 源代码: 在 map 函数中,我已经可以输出所有以字母“c”开头的单词以及该单词出现的总次数,但我想做的只是输出以字母“c”开头的单词
我是一名优秀的程序员,十分优秀!