题解 | #简单错误记录#

简单错误记录

http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

dic = {}
rank = 1
while True:
    try:
        file = input().split("\\")[-1].split()
        filename, line = file[0], int(file[1])
        if (filename, line) not in dic:
            dic[(filename, line)] = [1, rank]
            rank += 1
        else:
            dic[(filename, line)][0] += 1

    except:
        # print("dic", dic)
        # res = sorted(dic.items(),reverse=True) # 按照value进行升序排列
        # reversedic = dict(([v, k] for (k, v) in dic.items())) 这是字典key,value两者之间的翻转
        newdic = sorted(dic.items(), key = lambda x:x[1][1])[-8:] # 按照输入顺序升序排列,越早输入的越在前,并且选择后8个就行
        # print(newdic)
        i = 0
        for key, value in newdic: # 遍历即可
            i += 1
            if i > 8:
                break
            else:
                print(key[0][-16:], key[1], value[0])
        break

问题1:怎样输出最后8个
把前8个[:8]写为[-8:]
问题2:细细读题,人家没有让用个数排序,所以不需要按照错误个数排序
问题3:如何导致顺序不乱
制造一个rank,如果第一次出现,令他为1,如果不是第一次出现,在原先基础上+1
问题4:为什么最先不输出
因为没有选取文件名的范围
问题5:怎样对字典进行排序
newdic = sorted(dic.items(), key= lambda x:(f(x))) reverse 默认升序

全部评论

相关推荐

吴offer选手:我卡在笔试才是最好笑的,甚至没给我发过笔试链接
投递哔哩哔哩等公司7个岗位
点赞 评论 收藏
分享
牛客965593684号:假的,字节hr都是不会找你内推的,直接就是同学我们约个面试?他们有权限直接捞你的。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务