我有两个列表:
WriteAll
我需要根据成绩对学生列表进行排序,并以特定方式显示输出
students = [A, B, C]
marks = [45, 78, 12]
我得到的输出为:
students = ['student1', 'student2', 'student3']
marks = [45, 78, 12]#, 14, 48,]
sortedlist = sorted(zip(marks, students), reverse=True)
print(sortedlist)
我希望输出为:
有可能实现吗?同样在输出中,我只需要两个最高数字,而不是压缩列表中的所有元素。
答案 0 :(得分:1)
只需格式化print
即可,但仅适用于n=2
的前几个元素:
for entry in sortedlist[:n]:
print(entry[1] + "\t" + str(entry[0]))
# one-liner: print("\n".join(entry[1] + "\t" + str(entry[0]) for entry in sortedlist[:n]))
这将打印:
student2 78
student1 45