Сортировка списка в 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)))), тогда результаты всегда будут зеркальными

→ Ссылка