Доброго времени суток!
Имеется список:
lst = ['1:ooo', '1:ii', '1:uuu', '2:dd','=:nnn' , '=:gg', '2:ee','2:sss' , '2:aa']
Мне нужно получить список вида:
["1:ooo", "1:uuu", "2:sss", "=:nnn", "1:ii", "2:aa", "2:dd", "2:ee", "=:gg"]
Что я делаю:
Сортирую по трём параметрам: по длине, по первому символу, и по символу заполнителю по алфавиту.
lst.sort(key=lambda x:(len(x), x[0], x[2]))
Я получаю:
['1:ii', '2:aa', '2:dd', '2:ee', '=:gg', '1:ooo', '1:uuu', '2:sss', '=:nnn']
Как я понимаю, мне надо сортировать по длине, в обратном порядке, но как это задать я не знаю, задать получается только в конце кортежа:
lst.sort(key=lambda x:(len(x), x[0], x[2]), reverse=True)
Но тогда получается совсем не то:
['=:nnn', '2:sss', '1:uuu', '1:ooo', '=:gg', '2:ee', '2:dd', '2:aa', '1:ii']
Помогите решить эту проблему