美文网首页
注意!python中字典排序之后生成的是表格

注意!python中字典排序之后生成的是表格

作者: 虚无一代 | 来源:发表于2017-12-13 23:11 被阅读0次

原错误

误以为newlist = sorted(allgrade.items(), key=lambda x: x[-1][-1], reverse=True)语句生成的是字典, 导致错误。

实际情况

a = {'a': [1, 2, 3], 'b': [23, 4, 6], 'c': [3, 54, 5]}
b = sorted(a.items(), key=lambda x: x[-1])
print(b)

这段代码会生成如下结果
[('a', [1, 2, 3]), ('c', [3, 54, 5]), ('b', [23, 4, 6])]
故最后结果是一个列表

程序代码

allgrade = {}
for i in range(5):
    thesum = 0
    average = 0
    name = input('Enter your name:')
    onegrade = []
    for j in range(3):
        thegrade = eval(input('Enter one grade:'))
        onegrade.append(thegrade)
    allgrade[name] = onegrade
    thesum = sum(allgrade[name])
    average = thesum / 3
    allgrade[name].append(thesum)
    print("Student{0}'s sum grade is: {1}".format(i + 1, thesum))
    print("Student{0}'s average grade is: {1}".format(i + 1, average))
    newlist = sorted(allgrade.items(), key=lambda x: x[-1][-1], reverse=True)
for k in range(5):
    print("{0}:{1} gets {2} points\
    ".format(k + 1, newlist[k][0], newlist[k][-1][-1]))

相关文章

网友评论

      本文标题:注意!python中字典排序之后生成的是表格

      本文链接:https://www.haomeiwen.com/subject/lultwxtx.html