题目描述
数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
示例1
输入
4 0 1 0 2 1 2 3 4
输出
0 3 1 2 3 4
解题思路
首先设置for循环,多次输入,将每次输入的字符串按照空格拆分未数组,并设置字段,判断list[0]的值在字段key值内就累加,没有就写入字典内,最后字段的key与value分别排序输出
num=input() z={} for i in range(int(num)): a=input() a=a.split(" ") if int(a[0]) in z: z[int(a[0])]=z[int(a[0])]+int(a[1]) else: z[int(a[0])]=int(a[1]) o=[] for i in z.keys(): o.append(i) o=set(o) for i in o: print(i,z[i])
注:这里数组转集合实现了快速排序