Mam plik składający się ze słów, jednego słowa w każdym wierszu. Plik wygląda następująco:TypeError: obiekt str nie jest iteratorem
aaa
bob
fff
err
ddd
fff
err
Chcę policzyć częstotliwość pary słów, które występują jedna po drugiej.
Przykładowo
aaa,bob: 1
bob,fff:1
fff,err:2
i tak dalej. Próbowałem to
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})
mam błąd:
TypeError: str object is not an iterator
Potem spróbował wykorzystać iterator:
it=iter(content)
for x in it:
print x, next(x);
Mam ten sam błąd ponownie. Proszę o pomoc!
Jak sądzisz, co "następna rzecz"? Nie oznacza to "rzeczy, która przychodzi po rzeczy". – user2357112
Na stronie: Jednym z rozwiązań jest: 'pprint.pprint (collections.Counter (zip (zawartość [0:], treść [1:])) most_common())' –
@ user2357112: To, co myślałem, że następny był! Co dalej? Python doc mówi: "Pobierz następny element z iteratora, wywołując jego metodę next(). Jeśli podana jest wartość domyślna, jest zwracana, jeśli iterator jest wyczerpany, w przeciwnym razie podniesiona zostanie wartość StopIteration. – rowana