假设我有以下元组(python):
scores = {'player1':200,'player2':300,'player3':150}
我有一个元组而不是元组列表的原因是我可以很容易地更新分数,即
scores['player1'] += 50
如何获得得分最高的球员?或按分数对玩家进行排序:
[player2, player1, player3]
谢谢。
您可能想查看内置sorted
函数:http ://docs.python.org/2/library/functions.html#sorted
排序(可迭代[,cmp[,键[,反向]]])
您可以将字典的项目指定为键,并将反向设置为,True
以便您可以按降序获得分数列表。
>>> 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]
。
>>> scores.__getitem__('player1')
200
>>> scores['player1']
200