我的结构如下:
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)
这很好用,但是我找不到按目标数(列表的第二个数)排序的方法。 最简单的方法是什么?
答案 0 :(得分:1)
您可以使用此列表的第二个数字进行独占排序:
sorted(players.items(), key=lambda kv: kv[1][1], reverse=True)
lambda kv: kv[1][1]
基本上从每个列表[1]
提取第二个kv[1]
值
答案 1 :(得分:0)
您只需在第二个索引中指定搜索即可
players={ 'Player one': [3, 0], 'Player two': [13, 1], 'Player three': [29, 0], 'Player four': [19, 5] }
sorted(players.items(), key=lambda kv:(kv[1][1], kv[0]),reverse=True))