题解 | 数据分类处理

dic={
}#用字典存储较为方便 直接
while True:
    try:
        #提取数据
        temp1=input().split(' ')
        temp2=input().split(' ')
        i=temp1[1:]
        r=temp2[1:]
        i_len=temp1[0]
        r_len=temp2[0]
        r=list(map(int,r))
        r = list(set(r))
        r.sort()
        r=list(map(str,r))#这部分排序遇到了奇怪的bug
        # r=list(set(r))#用集合去重
        # r.sort()  # 将r进行排序
        #根据r对i进行处理
        for a in r:
            #获取r后要遍历每一个i看是否包含
            flag=0
            for b in i:
                flag+=1
                if b.find(a)!=-1:
                    #temp=i.index(b)#输出i中对应的元素位置 不对这这是第一个的位置 得改成实际的位置
                    temp=flag-1
                    if a not in dic:
                        dic[a]=[[temp],1]
                    else:
                        dic[a][0].append(temp)
                        dic[a][1]+=1
        #将结果按照要求进行输出
        temp3=dic#读取字典中的存在的r
        temp3=list(temp3)
        result=[]#建立一个全新的列表
        for c in range(len(temp3)):
            #首先添加被选中的r
            result.append(temp3[c])
            result.append(len(dic[temp3[c]][0]))
            #添加满足条件的i
            for j in range(len(dic[temp3[c]][0])):
                result.append(dic[temp3[c]][0][j])
                result.append(i[dic[temp3[c]][0][j]])
        #print(result)
        result.insert(0,len(result))
        #print(result)
        for e in result:
            print(e,end=' ')
        #print(''.join(result))
    except:
        break

全部评论

相关推荐

04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
04-18 00:32
已编辑
中南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务