Sorting elements within a tuple (getting the highest)
本问题已经有最佳答案,请猛点这里访问。
假设我有以下tuple(python):
1 | scores = {'player1':200,'player2':300,'player3':150} |
我有一个元组而不是一个元组列表的原因是我可以很容易地更新分数,也就是说。
1 | scores['player1'] += 50 |
号
我怎样才能得到得分最高的球员?或者根据得分对玩家进行排序:
1 | [player2, player1, player3] |
谢谢。
您可能想看看内置的
排序(iterable[,cmp[,key[,reverse]]])
您可以将字典项指定为键,并将Reverse设置为
1 2 3 4 | >>> scores = {'player1':200,'player2':300,'player3':150} >>> max_score = sorted(scores, key=scores.__getitem__, reverse=True)[0] >>> max_score 'player2' |
作为旁注,
1 2 3 4 | >>> scores.__getitem__('player1') 200 >>> scores['player1'] 200 |
号