首页 > 解决方案 > 如何根据列表值对元组进行排序?

问题描述

我有一个这样的结构:

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)

这很好用,但我发现无法按目标数量(列表的第二个数字)排序。最简单的方法是什么?

标签: pythonsortingtuples

解决方案


您可以使用此列表的第二个数字专门排序:

sorted(players.items(), key=lambda kv: kv[1][1], reverse=True)

wherelambda kv: kv[1][1]基本上提取[1]每个列表的第二个值kv[1]


推荐阅读