题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
# 从输入中读取第一行,然后分割字符串并取分割后的列表从第二个元素到最后一个元素 I = input().split(' ')[1:] # 从输入中读取第二行,然后分割字符串并取分割后的列表从第二个元素到最后一个元素 R = input().split(' ')[1:] # 将R列表中的每个元素转换为整数 R = list(map(int, R)) # 将R列表转换为集合以去除重复元素,然后再转换回列表 R = list(set(R)) # 对R列表进行排序 R.sort() # 初始化结果列表 res = [] # 遍历排序后的R列表 for r in R: # 初始化临时列表 tmp = [] # 遍历I列表,同时获取索引和值 for idx, val in enumerate(I): # 如果R中的当前元素r转换为字符串后存在于I中的当前元素val中 if str(r) in str(val): # 将当前索引和值添加到临时列表中 tmp = tmp + [str(idx), str(val)] # 如果临时列表不为空 if tmp: # 将R中的当前元素r和临时列表长度的一半(因为索引和值成对出现)添加到临时列表前面 tmp = [str(r), str(len(tmp)//2)] + tmp # 将临时列表的内容添加到结果列表中 res = res + tmp # 将结果列表的长度添加到结果列表的最前面 res = [str(len(res))] + res # 打印结果列表,元素之间用空格分隔 print(*res)