根据对象内部的属性对dict对象排序

时间:2020-03-08 23:22:22

标签: python python-3.x sorting dictionary

我有一个具有获利优先级的Player类。 我想对这本request_players词典进行排序:

requested_players = [
        {
            'player': Player("20801", "Cristiano Ronaldo", 93, 520000),
            'priority': 0
        },
        {
            'player': Player("173731", "Gareth Bale", 85, 9000),
            'priority': 0
        },
        {
            'player': Player("158023", "Lionel Messi", 94, 490000),
            'priority': 0
        }
    ]

根据该优先级字段。 我尝试使用排序方法。这就是我的开始方式:

sorted(list(map(lambda player: player['player'].profit,requested_players)),key=????)

我被困在这里-不确定lambda是否正确

1 个答案:

答案 0 :(得分:1)

您应该只将函数作为key参数传递,而不要使用map

sorted(requested_players, key=lambda player: player['player'].profit)