Напишите функцию, которая будет принимать список чисел и возвращать список тех же чисел, но в отсортированном виде.
Сортировать числа нужно по их длине. Число, состоящее из одной цифры, будет идти первым, а число с наибольшим количеством цифр — последним.
Если два и больше чисел имеют одинаковое количество цифр, они должны располагаться в том же порядке, в каком стояли в исходном списке.
Примеры
number_len_sort([1, 54, 1, 2, 463, 2]) ➞ [1, 1, 2, 2, 54, 463] number_len_sort([999, 421, 22, 990, 32]) ➞ [22, 32, 999, 421, 990] number_len_sort([9, 8, 7, 6, 5, 4, 31, 2, 1, 3]) ➞ [9, 8, 7, 6, 5, 4, 2, 1, 3, 31]
Варианты решений
def number_len_sort(lst): return sorted(lst, key=lambda x: len(str(x)))
def number_len_sort(lst): return [int(i) for i in sorted([str(i) for i in lst], key=len)]