3
unknown
abc
4 years ago
1.0 kB
5
Indexable
import re def word_stat(filename): ''' Zwraca posortowaną malejąco statystykę wystąpień słów w pliku w postaci listy par (słowo, liczba). ''' wordset = set() listofwords = [] f = open(filename,'r') lines = f.readlines() for line in lines: words = _words_from_line(line) for word in words: wordset.add(word) listofwords.append(word) values = [listofwords.count(x) for x in wordset] d = dict(zip(wordset, values)) # słownik (klucz:wartość) d.items() #print(_sort_stat(d.items())) return _sort_stat(d.items()) def _words_from_line(line): "Zwraca listę słów dla linijki tekstu unicode." words = re.split('[\W\d]+', line) return [w.lower() for w in words if w] def _sort_stat(stat): "Sortuje malejąco listę par według drugiego elementu." return sorted(stat, key=lambda p: p[1], reverse=True) word_stat('wiki_small.txt')
Editor is loading...