首页 > 解决方案 > 根据对象内部的属性对 dict 对象进行排序

问题描述

我有具有利润优先权的 Player 类。我想对这个 requested_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 方法。这就是我开始的方式:

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

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

标签: pythonpython-3.xsortingdictionary

解决方案


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

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

推荐阅读