【发布时间】:2021-04-12 21:05:00
【问题描述】:
我正在尝试使用插入排序对学生列表进行排序,并根据他们的分数对每个学生进行排名。学生数据包括姓名、卷号、地址、分数。
在这里,我将学生的 Mark 存储在一个列表中 - Marklist 并将学生的其他数据存储在第二个列表中 - stdData。
我使用插入排序对学生标记列表进行了排序。但现在我有 2 个单独的列表。如何合并并打印每个学生的排序列表及其分数?
import csv
stdData = [] # store RollNum,student name last name,address
Marklist = [] # store the final mark of each student
#generallist=[]
with open("studentlist.csv", "r") as f1:
recordReader = csv.DictReader(f1)
for row in recordReader:
#generallist.append(row)
row['Mark']=int(row['Mark'])
Marklist.append(row['Mark'])
stdData.append(row['RollNo'])
stdData.append(row['Name'])
stdData.append(row['LastName'])
stdData.append(row['Address'])
print(Marklist)
print(stdData)
for i in range(1, len(Marklist)):
key = Marklist[i]
j = i - 1
while j >= 0 and key < Marklist[j]:
Marklist[j + 1] = Marklist[j]
j -= 1
Marklist[j + 1] = key
print("Sorted List: ",Marklist)
谢谢。
【问题讨论】:
标签: python arrays list csv insertion-sort