Поэтому я работаю с несколькими уже существующими компараторами, которые сравнивают определенные значения в двух кортежах и возвращают 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