题解 | #数据分类处理#
数据分类处理
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=" ")