题解 | #数据分类处理#
数据分类处理
http://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
num = input().split(' ')[1:] #列表
r = sorted(map(int,set(input().split(' ')[1:])))#sorted返回列表,如果不使用int,会对‘26’‘4’数字字符串排序,将产生错误结果
dic = {}
number = {}#dic的字符串形式
for i in r:#r现在是数字列表,i是数字
for base,j in enumerate(num):#j是字符串
if str(i) in j:
dic.setdefault(i,[]).append(base)#使用index无法避免相同元素的下标问题
dic.setdefault(i,[]).append(j)#字典嵌套列表
for k in sorted(dic.keys()):#把索引下标转化成字符串
for q in dic[k]:
if type(q) != type('a'):
q = str(q)
number.setdefault(k,[]).append(q)
else:
number.setdefault(k,[]).append(q)
x = []#存储输出结果
for l in sorted(number.keys()):
x.append(str(l))
x.append(str(int(len(number[l])/2)))
x.append(','.join(number[l]))
shuchu = ','.join(x).split(',')
shuchu.insert(0,str(len(shuchu)))
print(' '.join(shuchu))