Имеется нижеуказанный код, который ищет частоту появления слов в тексте. Как можно отсортировать результат по степени возрастания частот и вывести на экран?
import codecs
import re
import string
frequency = {}
document_text = open(r"C:\Users\USER\Desktop\Машинное обучение\222.txt")
text_string = document_text.read().lower()
match_pattern = re.findall(r'\b[a-z]{3,15}\b', text_string)
for word in match_pattern:
count = frequency.get(word,0)
frequency[word] = count + 1
frequency_list = frequency.keys()
words = filter(lambda x: len(x) > 0, words)
for words in frequency_list:
print (words, frequency[words])
sorted(frequency.items(), key=lambda x: x[1], reverse=True)– MaxU - stand with Ukraine Mar 11 '18 at 08:32reverse=Trueздесь не надо. sorted() по возрастанию по умолчанию сортирует. – jfs Mar 11 '18 at 08:51