На примере задачи, рассмотрим этот алгоритм: Даны строки со словами.Надо отсортировать слова по возрастанию по кол-ву раз , и потом ,в каждой группе,с одинаковым кол-вом, отсортировать слова в лексикографическом порядке(по алфавиту) В начале, создаем словарь -- слово,ключ, и значение его колво. По алгоритму,прописанному раньше, в теме словари. Потом , делаем новый словрь, перебирая старый, где уже ключом является кол-во, а значением- список из слов,с одинаковым кол-вом. Далее, перебирая словарь,сортируем по ключам, и добавляем сортировку по списку по данному ключу,с помощью SORT() Пример: строка s=' aa ss dd ff aa ss e t ww u bb' slov=dict() for i in s: if i not in slov: slov[i]=0 slov[i]+=1 slov2=dict() for i in sorted(slov): if slov[i] not in slov2: slov2[ slov[i]]=[] slov2[ slov[i]].append(i) for i in slov2: slov2[i].sort() print(slov2)
Словари-алгоритм сортировки и по значниям и по ключам,в лексикографическом порядке
11 апреля11 апр
1
~1 мин