Лямбда-функция создает кортежи логического значения и самого исходного значения.Таким образом, sorted
применяется к следующему входу:
(True, 'a') (True, 'w') (True, 'u') (True, 'y') (False, 6) (False, 2) (False, 3) (False, 4) (False, 5)
Сначала он помещает записи с записью False
, а затем элементы True
(строки в этом примере).Затем он сортирует элементы False
в логическом порядке после второй записи кортежа и элементы True
также в логическом порядке.Думайте об этом как об иерархической сортировке.
Таким образом, вы получите
(False, 6) (False, 2) (False, 3) (False, 4) (False, 5) (True, 'a') (True, 'w') (True, 'u') (True, 'y')
после первого уровня сортировки и
(False, 2) (False, 3) (False, 4) (False, 5) (False, 6) (True, 'a') (True, 'u') (True, 'w') (True, 'y')
после второгоуровень.Таким образом, вы получите окончательный порядок вашего массива (полагаю, вы случайно пропустили 6
).
[2, 3, 4, 5, 6, 'a', 'u', 'w', 'y']