题解 | #数据分类处理#

数据分类处理

https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

import sys
#总体思路:先整理I和R,R把重复的晒去并排序,用for loop和in检查是否含有对应字串,
#最后合并成一条list并得出整数个数
to_int = lambda x:[int(num) for num in x]
#整理I和R,摘除开头的整数个数
I, R = input().split(" "), input().split(" ")
N_i, R[0] = I[0], R[0]
i,r = I[1:], sorted(set(to_int(R[1:])))
#把符合要求的数据整理成dictionary
#dictonary 样式: {R<i>:[[index, i], total_count],...}
out = {}
for ele in r:
    R_key = str(ele)
    out[R_key]=[[],0] 
    for index in range(len(i)):
        if R_key in i[index]:
            out[R_key][0].append([index, int(i[index])])
            out[R_key][1]+=1
    #若有R<i>为0,没有一个对应的,则从dictionary里剔除
    if out[R_key][1] == 0:
        out.pop(R_key)
print_ = [] 
#整理最后的输出结果
for i in out:
    print_temp = [int(i)]+[out[i][1]]
    group = []
    for j in out[i][0]:
        group+=j
    print_temp+=group
    print_+=print_temp
final = [len(print_)]+print_
for i in final: 
    print(i, end=" ")







全部评论

相关推荐

04-18 15:58
已编辑
门头沟学院 设计
kaoyu:这一看就不是计算机的,怎么还有个排斥洗碗?
点赞 评论 收藏
分享
牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务