Сортировка списка в Python с параметром reverse
При сортировке такого списка
A = [22, 44, 11, 12, 99, 88]
с помощью метода sorted с объявленными параметрами key и reverse
B = sorted(A, key=lambda x: len(str(x)), reverse=True)
C = sorted(A, key=lambda x: len(str(x)), reverse=False)
на выходе получается два одинаковых списка B и С, а именно:
[22, 44, 11, 12, 99, 88]
Почему так происходит?
Ответы (1 шт):
Автор решения: Евгений
→ Ссылка
Параметр reverse явно задаёт порядок сортировки, а не разворачивает список в конце.
В этом и есть принципиальное отличие. Т.к. в вашем случае для сортировщика все элементы равны, вы и получаете два равных списка для прямой и обратной сортировки.
Хотите получить два зеркальных - используйте sorted(A, key=lambda x: len(str(x))) и reversed(sorted(A, key=lambda x: len(str(x)))), тогда результаты всегда будут зеркальными