Например, если у нас есть два числа 5 и 7, и я их сравниваю с помощью операции < (операция «зашита» и не меняется), я получу true. Чтобы получить false, мне достаточно сравнить тем же оператором те же числа в том же порядке, но со знаком минус. Есть ли что-то аналогичное для строк? Т.е. какую операцию надо произвести над двумя строками, чтобы при сравнении тем же оператором, в том же порядке получить противоположный результат? Навеяно необходимостью сортировать данные для таблицы по двум колонкам в различных направлениях в python. По имени asc, по дате desc.
array = sorted([(v.get('stringField'), int(k)) for k, v in someMap.items()], key=lambda x: (x[1], x[0]), reverse=(sortDir == 'desc'))
array = sorted([(v.get('stringField'), int(k)) for k, v in someMap.items()], key=lambda x: (-x[1], x[0]), reverse=(sortDir == 'asc'))
Апд1: Разумеется, в одну строку нужно. Никаких явных циклов и прочего.