题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

m, n = int(input()), int(input())
a = {}
f= {}
for i in range(m):
    b, c = input().split()
    e=b
    while b in a.keys():
        b += "00"
    f[b] = e
    a[b] = int(c)


if n == 1:
    d=sorted(a.items(),key= lambda x:x[1])
else:
    d = sorted(a.items(), key=lambda x: x[1],reverse=True)

for i in d:
    print(f[i[0]],i[1])

谁说字典不行的,喵的,我双重字典。,我也不用字典values.append(),

7-10行,指的是,若发现了同名的人,直接在他的名字后面加一个00,然后做成一个字典,若没有同名,则键值对相同。

对保存成绩的字典排序,然后,在19行,输出时,(f[i[0]],i[1]),前一个时名字字典,后一个是成绩字典。

嘿嘿。

全部评论

相关推荐

10-02 19:29
已编辑
浙江科技大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务