import sys,os
N=int(sys.stdin.readline()) #输入整数,注意转换为整数int()
L={}
for i in range(N): # 注意范围0~(N-1)
a=sys.stdin.readline()
index=int(a.split()[0]) # 输入的前部分为index,如果想按照升序输出,index转换为int()
v=int(a.split()[-1]) # 输入的后部分为value,for有加法运算,value转换为int()
if index not in L.keys(): # 如果在L的dic中存在,需要当前的value+L[index]
L[index]=v
else:
L[index]=v+L[index]
for i in L.keys(): # 因为key为int,所以输出自然按照升序输出
print("%s %s" %(i,L[i]))
解析:
首先输入一个整数,可以采用通用的输入字符串格式sys.stdin.readline(),再转化为整数int(),然后输入的数据分为两部分,采用字符串截取方法split()因为只分为两部分:前部分为index,可转化为int(),因为后期输出的时候按升序(int类型的list的index默认为升序),后部分为数据value,最好也转化为int(),便于相同的index的求和运算。用一个list来存放最终的数据,if index首次出现在list中,直接加入list,如果已经存在了,先做求和运算,再加入list中。