Sorting: Comparator

Sample Input

5
amy 100
david 100
heraldo 50
aakansha 75
aleksa 150

Sample Output

aleksa 150
amy 100
david 100
aakansha 75
heraldo 50
from functools import cmp_to_key

class Player:
    def __init__(self, name, score):
        self.name=name
        self.score=score
    def comparator(a, b):
        if a.score==b.score:
            if a.name>b.name:
                return 1
            else:
                return -1
        else:
            return b.score-a.score


n = int(input())
data = []
for i in range(n):
    name, score = input().split()
    score = int(score)
    player = Player(name, score)
    data.append(player)
    
data = sorted(data, key=cmp_to_key(Player.comparator))
for i in data:
    print(i.name, i.score)
发布了163 篇原创文章 · 获赞 90 · 访问量 6284

猜你喜欢

转载自blog.csdn.net/weixin_45405128/article/details/104218144