要从元组创建表

时间:2019-07-11 18:50:06

标签: python-3.x

我有两个列表:

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)

我希望输出为:

a 2D table with first column student and the second column marks

有可能实现吗?同样在输出中,我只需要两个最高数字,而不是压缩列表中的所有元素。

1 个答案:

答案 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