所以我正在使用几个预先存在的比较器,它们会比较两个元组中的某些值,并在第一个元组大于第二个元组时返回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)。我无法更改比较器函数。
if condition: return True else: return False
应该改为return condition
。 - Fred Foocollections
模块中的OrderedDict
。 - Mattcmp
操作符被弃用声明的链接。在这里可以找到... Python Wiki上有一篇文章介绍如何从cmp
转换为key
。 - Pascal