关于python:对元组内的元素进行排序(获得最高)

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]

谢谢。


您可能想看看内置的sorted函数:http://docs.python.org/2/library/functions.html

排序(iterable[,cmp[,key[,reverse]]])

您可以将字典项指定为键,并将Reverse设置为True,以便按降序获得分数列表。

1
2
3
4
>>> scores = {'player1':200,'player2':300,'player3':150}
>>> max_score = sorted(scores, key=scores.__getitem__, reverse=True)[0]
>>> max_score
'player2'

作为旁注,scores.__getitem__(i)scores[i]大致相同。

1
2
3
4
>>> scores.__getitem__('player1')
200
>>> scores['player1']
200