华为机试8-合并表记录

题目描述
数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开

输出描述:
输出合并后的键值对(多行)

示例1
输入
4
0 1
0 2
1 2
3 4
输出
0 3
1 2
3 4

 

参考1:

字典,如num={'1':2, '0':2, '3':2}

n = int(input())
num = {}
for _ in range(n):
    res = list(map(int,input().split( )))
    if res[0] in num:
        num[res[0]] += res[1]
    else:
        num[res[0]] = res[1]
nu=sorted(num)     #返回keys的排序
for s in nu:
    print(s,num[s]) 

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率:100.00% 运行时间: 17ms 占用内存: 3396KB

 

posted @ 2020-08-20 14:32  Andy_George  阅读(107)  评论(0编辑  收藏  举报