Использование функции сравнения для сортировкиPython

Программы на Python
Ответить
Anonymous
 Использование функции сравнения для сортировки

Сообщение Anonymous »

Поэтому я работаю с несколькими уже существующими компараторами, которые сравнивают определенные значения в двух кортежах и возвращают true, если первый больше второго, и false в противном случае. Вот код одного из них:

Код: Выделить всё

def cmpValue(subInfo1, subInfo2):
"""
Returns True if value in (value, work) tuple subInfo1 is GREATER than
value in (value, work) tuple in subInfo2
"""
# TODO...
if subInfo1[0] > subInfo2[0]:
return True
else:
return False
Теперь у меня есть словарь, в котором есть множество записей кортежа сравниваемого выше типа. Я хочу отсортировать их все в обратном порядке, но не совсем понимаю, как это сделать. Я думал что-то вроде:

Код: Выделить всё

sortedDict = sorted(subjects, key=comparator, reverse = True)
Но я не знаю, что передать в компаратор, поскольку каждый компаратор принимает два аргумента (subInfo1, subInfo2). Я не могу изменить функции сравнения.

Подробнее здесь: https://stackoverflow.com/questions/127 ... on-to-sort
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»