Python3题解,本人不是程序员,算是初学者,来刷一刷题,提供一下新手向的思路,比较好理解
因为各种函数和数据结构不熟练,因此采用的是笨办法,甚至没有用到题目关键词里的“字典”和“哈希”
import sys
list1 = sys.stdin.readlines() #读取输入数据
counter = int(list1[0])
list2 = []
for i in range(counter+1):# 去掉换行符
    list1[i] = list1[i][:-1]
for i in range(1,counter+1):# 因为读取到的是str,转换成元素为整形的list输入到一个新列表里,这样一来新列表为嵌套列表,是个矩阵
    list2.append(list(map(int,list1[i].split()))) 
def takeFirst(elem):
    return elem[0]
list2.sort(key = takeFirst)# 在这里把新列表排一下序,方便按顺序输出
# 开始遍历,每个列表元素中,第一个元素就是键,第二个就是值
# 遇到键相同值不同的就合并,并删除后一项
i = 0
while i < len(list2)-1:
    #print(len(list2))
    j = i+1
    while j < len(list2):
        if list2[i][0] == list2[j][0] :
            list2[i][-1] = int(list2[i][-1])+int(list2[j][-1])
            #list2[j][-1] = str(list2[j][-1])
            del list2[j]
        else:
            j += 1
    i += 1

# 因为排过序,所以直接输出即可
for i in range(len(list2)):
    print(list2[i][0],list2[i][1])