python 合并表记录

地址:

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201?tpId=37&tqId=21231&rp=1&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking&tab=answerKey

 1 '''
 2 题目描述
 3 数据表记录包含表索引和数值(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
 4 
 5 输入描述:
 6 先输入键值对的个数
 7 然后输入成对的index和value值,以空格隔开
 8 
 9 输出描述:
10 输出合并后的键值对(多行)
11 
12 例:
13 输入:
14 4
15 0 1
16 0 2
17 1 2
18 3 4
19 输出:
20 0 3
21 1 2
22 3 4
23 
24 '''
25 num = int(input())
26 d = {}
27 for i in range(num):
28     n = input()
29     s = n.split()
30     if s[0] in d:
31         d[s[0]] = d[s[0]] + int(s[1])
32     else:
33         d[s[0]] = int(s[1])
34 d = sorted(d.items(), key=lambda i:int(i[0]), reverse = False)
35 d = dict(d)
36 for k,v in d.items():
37     print(k,v)
原文地址:https://www.cnblogs.com/whycai/p/14650274.html