所以我在一个存储在文件中的python上创建的游戏获得了一些高分。我希望按字母顺序和最高分到最低分打印文件的内容。如何按字母顺序和分数对文件进行排序?该文件的内容如下:
姓名:詹姆斯得分:12 ---姓名:亚历克斯得分:5 ---姓名:马利 得分:8 ---姓名:Dean得分:16
感谢您的帮助,谢谢!
答案 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))