У меня есть файл, состоящий из слов, по одному слову на каждой строке. Файл выглядит так:ТипError: str объект не является итератором
aaa
bob
fff
err
ddd
fff
err
Я хочу посчитать частоту пары слов, которые происходят один за другим.
Например,
aaa,bob: 1
bob,fff:1
fff,err:2
и так далее. Я попытался это
f=open(file,'r')
content=f.readlines()
f.close()
dic={}
it=iter(content)
for line in content:
print line, next(line);
dic.update({[line,next(line)]: 1})
я получил ошибку:
TypeError: str object is not an iterator
Затем я попытался с помощью итератора:
it=iter(content)
for x in it:
print x, next(x);
снова получил ту же ошибку. Пожалуйста, помогите!
Что вы думаете о 'следующей (вещи)' делает? Это не означает «вещь, которая приходит после« вещи ». – user2357112
Кроме того, одним из решений является: 'pprint.pprint (collections.Counter (zip (content [0:], content [1:])). Most_common())' –
@ user2357112: То, что я думал дальше! Что делать дальше? В документе python говорится: «Извлеките следующий элемент из итератора, вызвав его метод next(). Если задано значение по умолчанию, оно возвращается, если итератор исчерпан, иначе StopIteration будет поднят. – rowana