Reputation: 21
How can I sort some objects on the following list with the result of the function
?
sorted_list = []
for c in objects:
sorted_list.insert(c)
sorted_list.sort(function(c))
Something like a map
Example:
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
output:
objects = [node1, node2, node3, node4]
Upvotes: 0
Views: 47
Reputation: 236004
Use the ranking function as the sorting key:
sorted_list.sort(key=lambda node: function(node, player))
I don't know why you pass player
as parameter if you're not using it. If you remove it, the key will be even simpler:
sorted_list.sort(key=function)
Upvotes: 1