我想使用返回浮点值的函数对列表进行排序。如果函数只有一个参数,我会简单地使用
sorted(mylist, key=myfunction)
Run Code Online (Sandbox Code Playgroud)
并在我快乐的方式。但是,这不适用于具有多个参数的函数。如何才能做到这一点?
编辑:
人们询问更多细节,所以我们开始:
这是国际象棋引擎的一小部分。'Bestmove' 函数接受棋盘位置(一个列表)、深度(一个整数)和 alpha/beta 值,并返回一个包含两个条目的列表:棋盘评估(一个浮点数)和建议的移动(一个列表)。
为了优化 alpha/beta 修剪过程,我想更改评估移动的顺序(首先评估的强移动会导致更高的效率)。为此,我想按“Bestmove”函数返回的列表中的第一个值对移动列表进行排序。