如何使用function
的结果对以下列表中的某些对象进行排序?
sorted_list = []
for c in objects:
sorted_list.insert(c)
sorted_list.sort(function(c))
有点像地图
示例:
objects = [node3, node2, node1, node4]
def function (node, player):
if (node == node1): return 1
else if (node == node2): return 2
else if (node == node3): return 3
else if (node == node4): return 4
输出:
objects = [node1, node2, node3, node4]
答案 0 :(得分:1)
使用排名功能作为排序键:
sorted_list.sort(key=lambda node: function(node, player))
我不知道为什么不使用player
作为参数。如果删除它,密钥将更加简单:
sorted_list.sort(key=function)