Задача из codewars: создайте функцию longer
, которая принимает строку и сортирует содержащиеся в ней слова по их длине в порядке возрастания. Если есть два слова одинаковой длины, отсортируйте их по алфавиту. Для получения более подробной информации посмотрите примеры ниже.
longer("Another Green World") => Green World Another
longer("Darkness on the edge of Town") => of on the Town edge Darkness
longer("Have you ever Seen the Rain") => the you Have Rain Seen ever
Предположим, что в качестве входных данных будут введены только алфавиты. Символы верхнего регистра имеют приоритет над символами нижнего регистра. То есть:
longer("hello Hello") => Hello hello
Мое решение (причем в единственном экземпляре на сайте):
def longer(st):
return ' '.join(sorted([item for item in sorted(st.split())], key=len))