Допустим данные нужно отсортировать сначала по столбцу А по возрастанию, затем по столбцу Б по убыванию,
и наконец по столбцу В снова по возрастанию.
Если данные в столбце Б числовые, то при помощи подходящей функции в key
можно поменять знак у элементов Б,
что приведёт к необходимому результату.
А если все данные текстовые?
Тут есть такая возможность.
Дело в том, что сортировка sort
в Python устойчивая, то есть она не меняет порядок «одинаковых» элементов.
Поэтому можно просто отсортировать три раза по разным ключам:
data.sort(key=lambda x: x['В'])
data.sort(key=lambda x: x['Б'], reverse=True)
data.sort(key=lambda x: x['А'])
Последнее изменение: Суббота, 15 Август 2020, 02:35