我有一個函數,它將參數作爲2個對象:a
和b
函數檢查(使用非常長的算法)哪個對象更好。Python,使用比較函數查找最佳對象
如果是更好的返回-1,如果b是更好的,它返回1,如果他們綁返回0
我的問題是:
我在列表中有這些對象的21。
我需要找出來,用上面的功能(該功能不能 改變,唯一的方法是比較2個對象,這是一個非常複雜的 和長算法),其中這21個目標之一就是最好的。
我試了幾個小時想如何有效地做到這一點,沒有做太多次相同的比較,如何編寫一個算法,將找出哪一個是最好的(如果兩個是綁在一起,他們都是最好的,哪一個並不重要,儘管我認爲甚至不可能有平局發生),而且我不能拿出任何好的東西。
函數的名稱是handCompare(a, b)
對象在一個名爲Combos
列表中找到,len(combos)
是21 我需要一個算法,將在連擊列表中找到了最好的項目
感謝您的閱讀,我希望你可以幫助:)
使用你的函數實現排序方法('__gt __()','__lt __()','__eq __()'),然後使用'list.sort()'有什麼問題? –
你是什麼意思?你明白我的問題嗎?排序如何相關? – Omer
如果使用比較對項目進行排序,最後一項將是最好的。 –