Как выполнить сортировку вхождений в порядке убывания (в алфавитном порядке в случае связей / в этой программе

#python

#python

Вопрос:

 >>> words=input('enter your sensence:')
enter your sensence:it was the best of times it was the worst of times it was the age of wisdom it was the age of foolishnes
>>> wordcount={}
>>> for word in words.split():
    if word not in wordcount:
        wordcount[word] = 1
    else:
        wordcount[word]  = 1


>>> print(word, wordcount)
foolishnes {'age': 2, 'of': 4, 'it': 4, 'wisdom': 1, 'was': 4, 'the': 4, 'worst': 1, 'times': 2, 'foolishnes': 1, 'best': 1}
  

Комментарии:

1. Кстати, цикл можно заменить встроенным Counter : wordcount = collections.Counter(words.split())

Ответ №1:

У вас уже есть свои wordcounts. Вот как вы могли бы распечатать их в отсортированном порядке:

 def printout(wordcount):
    for k in sorted(wordcount, key=lambda k: (wordcount[k], k)):
        print(k, wordcount[k])
  

Комментарии:

1. Как распечатать результаты в одной строке?

2. @johnb: print(k, wordcount[k]), end=' ')