所以我有一个健身函数(对于给定的一对参数只返回true或false),我想用它作为排序可能参数列表的关键字。虽然通常情况下,我可以这样做:使用具有附加参数的自定义方法排序?
sorted(possibleArguments, key = fitnessFunction)
这里probles是我的适应度函数如下:
def fitnessFunction(arg1, arg2, f):
return f(*arg1) < f(*arg2)
当然,在方法我想用排序,用于计算适应度的函数是已知的,并且在排序期间不会改变,但是我能否以某种方式告诉Python,情况如何?我可以做些什么:
如果是这样,怎么样?
相同类型的'arg1'和'arg2'对象?如果是这样,您可以在该类中编写'__gt__','__lt__'和'__eq__'函数来进行比较。 – Brobin
@Brobin是的,他们是相同数量的花车每个 – Straightfw
嗯,如果你在一个类中把它包起来,你可以使用这些方法的简单元组。 – Brobin