Количество слов и ранг Python

Работа над приложением подсчета вхождений слов в среде 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'              

Спасибо

n.b.

Полностью рабочий код:

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))

Еще раз спасибо, ребята

5
задан Fruitful 25 October 2011 в 12:38
поделиться