python - 如何根据列表值对元组进行排序?
问题描述
我有一个这样的结构:
players={ 'Player one': [3, 0], 'Player two': [13, 1], 'Player three': [29, 0], 'Player four': [19, 5] }
列表的第一个数字是比赛次数,接下来是进球数。
要按我刚刚使用的游戏数量对数组进行排序:
print sorted(players.items(), key=lambda kv:(kv[1], kv[0]),reverse=True)
这很好用,但我发现无法按目标数量(列表的第二个数字)排序。最简单的方法是什么?
解决方案
您可以使用此列表的第二个数字专门排序:
sorted(players.items(), key=lambda kv: kv[1][1], reverse=True)
wherelambda kv: kv[1][1]
基本上提取[1]
每个列表的第二个值kv[1]
推荐阅读
- voip - Nexmo-Vonage:从 Vonage VoIP 设备向电话发出呼叫,在服务器上发起
- python - pandas 分类变量汇总
- flutter - 如何为 ChangeNotifierProvider 创建依赖项并使其等待完成?
- arrays - 在fortran + mpi中将单个元素传递到零等级
- java - JPA 插入 + Oracle 序列和带有 H2 的 Junit
- python - UAC 使用 python 提升:不需要的系统退出与提升模块
- c++ - 从可变参数创建链接列表
- javascript - 如何使按钮默认处于活动状态?
- node.js - 如何使用循环存储多个旅行者信息?
- html - 复选框标签的可点击链接