我有一个包含名称和值的文本文件,键入如下:
Sam:3 Ben:6 Ben:5 Alice:7
我试图'打印'从文件中按字母顺序,但我也需要摆脱重复,只显示每个名字的最高分。我已经开始了,但似乎不起作用。我使用的是python3.4.1。你知道吗
AClass1=open("Class1.txt")
line=AClass1.readlines()
for lines in line:
key=lines.split(":")[0]
val=lines.split(":")[1]
for names in sorted(key):
print(names,":",val)
AClass1.close()
您可以使用字典(和dict.setdefault方法)保存您的姓名和分数,然后打印每个姓名的最大分数:
注意如果你的分数可能是浮动的,你需要在
append
方法中使用float
而不是int
。你知道吗我的版本是(假设每个条目都在新行上):
然后可以使用排序的(d.keys)进行迭代。你知道吗
相关问题 更多 >
编程相关推荐