Python中怎么将文件中的学生成绩进行排序
时间: 2024-03-01 08:52:49 浏览: 70
成绩排序(python)
5星 · 资源好评率100%
你可以使用Python中的内置函数sorted()和文件读写操作来对文件中的学生成绩进行排序。假设你有一个成绩单文件,每行记录格式为“姓名,成绩”,示例代码如下:
```
# 打开文件,读取成绩数据
with open('scores.txt', 'r') as f:
lines = f.readlines()
# 将成绩数据转换为字典类型
scores = {}
for line in lines:
name, score = line.strip().split(',')
scores[name] = int(score)
# 对成绩进行排序
sorted_scores = sorted(scores.items(), key=lambda x: x[1], reverse=True)
# 将排序结果写入文件
with open('sorted_scores.txt', 'w') as f:
for item in sorted_scores:
f.write(item[0] + ',' + str(item[1]) + '\n')
```
上述代码中,使用with语句打开文件,读取成绩数据,然后将成绩数据转换为字典类型。接着使用sorted()函数对字典进行排序,sorted()函数的第一个参数是待排序的对象,这里是字典scores.items(),sorted()函数的第二个参数是排序的关键字,这里是lambda函数,表示按照成绩进行排序。最后使用with语句打开文件,将排序结果写入文件。
注意,在读取文件时,要使用strip()方法去除每行记录末尾的换行符,并使用split(',')方法将姓名和成绩分开。在写入文件时,要使用字符串拼接将姓名和成绩转换为一行记录,并在末尾添加换行符。
阅读全文