题目描述
数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
示例1
输入
4
0 1
0 2
1 2
3 4
输出
0 3
1 2
3 4
实现
def merge(merged, key, value):
if key not in merged.keys():
merged[key] = value
else:
merged[key] = merged[key] + value
return merged
while 1:
merged = {}
try:
line = int(input())
for i in range(line):
l = sys.stdin.readline().strip().split()
key, value = int(l[0]), int(l[1])
merge(merged, key, value)
except:
break
for j in sorted(merged.keys()):
print(j, merged[j])