题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
I = input().strip().split(' ')[1:] #舍弃第一个数(数量个数)并以字符串形式保存 R = list(map(str, sorted(list(map(int, list(set(input().strip().split(' ')[1:]))))))) #对R排序且去重并舍弃第一个数(数量个数)并以字符串形式保存 hashtable = {} #创建哈希表 res = [] #创建结果列表 for r in R: #循环遍历R中的数 temp = [] #创建临时用于保存数据的列表 for ind, i in enumerate(I): #遍历I中的索引和字符串 if r in i: #如果R中某个数在I中 temp.append(str(ind)) #保存I中该数的索引 temp.append(i) #保存I中该数的数据 if temp: #如果临时列表有值 说明R中有某个数在I中某个值里 hashtable[r] = [str(len(temp)//2)] + temp #将I中符合数的个数加入temp列表并保存在哈希表中 for key, value in hashtable.items(): #遍历哈希表中的键值对 res = res + [key] + value #将结果保存在结果列表中 res = [str(len(res))] + res #将结果列表总个数保存在0索引位 print(' '.join(res)) #打印结果