Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- How to order these lines for a highscore table in Python
- ('bob', '10')
- ('Ben', '10')
- ('Ben', '9')
- ('Ben', '8')
- ('Ben', '2')
- ('Ben', '6')
- ('Ben', '5')
- ('Ben', '5')
- ('Ben', '3')
- ('Ben', '2')
- import ast
- from operator import itemgetter
- def parse_item(s):
- name, score = ast.literal_eval(s)
- return name, int(score)
- with open("infile", "r") as infile:
- items = [parse_item(line.strip()) for line in infile]
- for item in sorted(items, key=itemgetter(1), reverse=True):
- print item
- print ''.join(sorted(open('infile'), key=lambda l: -int(ast.literal_eval(l)[1]))),
- sorted(l, key=lambda(name,score):int(score), reverse=True)
- class Highscore:
- def __init__(self, name, score):
- self.name = name
- self.score = score
- def __cmp__(self, other):
- return -cmp(self.score, other.score)
Advertisement
Add Comment
Please, Sign In to add comment