2016-03-14 70 views
-2

因此,我创建了一个存储在文件中的python游戏,获得了一些高分。我希望按字母顺序打印文件内容,并按照最高分到最低分打印。我如何按字母顺序和按分数排序文件?该文件的内容如下:按字母顺序排列文件并按最高到最低排序

角色:James分数:12 ---名:Alex分数:5 ---名称:马利 评分:8 ---名称:迪安分数:16

我感谢任何帮助,谢谢!

+0

'open'和'read'文件,'split'由分隔符生成的字符串,并保存相关结果在字典/或元组列表,然后使用'sorted'。 – MSeifert

+1

请向我们展示您迄今为止编写的代码。 – tdelaney

回答

0

不使用熊猫或什么,但香草标准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))