python - 根据对象内部的属性对 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 是否正确
解决方案
您应该只将函数作为key
参数传递,而不是使用map
:
sorted(requested_players, key=lambda player: player['player'].profit)
推荐阅读
- django - 是否可以在 Django 中以一种形式创建两个不同的提交按钮?
- javascript - 有没有办法可以从Firefox扩展中的DOM以外的页面获取链接?
- android - 如何防止由于回收站视图上的空列表而导致 android 应用程序崩溃?
- excel - 我需要在 Excel 中的 VBA 中设置路径,以便文件可以在多台计算机上使用
- python - pyspark中的reducebykey,元组中有多个关键字段
- php - 如何通过variation_ID从woocommerce中的购物车页面动态获取特定的产品变体数量?
- swift - Swift - 委托函数不返回值
- c# - 我可以将字节数组转换为 InkCanvas StrokeCollection 吗?
- java - Java - 在不停止服务器的情况下重新启动 WebSocket
- vuetify.js - 如何在 Vuejs 中为 v-snackbar vuetify 组件设置底部位置样式?