按字母顺序排列文件,按从最高到最低

时间:2016-03-14 20:25:19

标签: python

所以我在一个存储在文件中的python上创建的游戏获得了一些高分。我希望按字母顺序和最高分到最低分打印文件的内容。如何按字母顺序和分数对文件进行排序?该文件的内容如下:

  

姓名:詹姆斯得分:12 ---姓名:亚历克斯得分:5 ---姓名:马利   得分:8 ---姓名:Dean得分:16

感谢您的帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

不使用pandas或其他任何东西,但香草标准Python:

data = "Name:James Score:12---Name:Alex Score:5---Name:Marley Score:8---Name:Dean Score:16"
stuff1 = filter(lambda _: ":" in _, data.split('---'))
stuff2 = dict(map(lambda x: (x.split(' ')[0].split(":")[1], x.split(' ')[1].split(":")[1]), stuff1))
for name, score in sorted(stuff2.items()):
    print("{}: {}".format(name, score))

for name, score in sorted(stuff2.items(), key=lambda x: x[1]):
    print("{} - {}".format(score, name))