所以我有一個健身函數(對於給定的一對參數只返回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