第一行输入一个整数
代表数据表的记录数。
此后
行,第
行输入两个整数
代表数据表的第
条记录的索引和数值。
一共若干行(视输入数据变化),第
行输出两个整数,代表合并后数据表中第
条记录的索引和数值。
4 0 1 0 2 1 2 3 4
0 3 1 2 3 4
在这个样例中,第
条记录索引相同,合并数值为
。
2 0 1 0 1
0 2
# 解题思路:
# 1、定义2个参数,分别保存键值对个数和键值对;
# 2、使用for循环输入键值对,如果键存在就把值与键值相加,不存在则添加进键值对里;
# 3、使用sorted升序,然后使用for循环键,把键和值打印出来
#输入输出类
class enter_values:
#参数
def __init__(self):
self.__num=0 #输入键值对的个数
self.__key_values={} #输入的键值对
#输入键值对的个数
def numbers(self):
self.__num = int(input())
#处理过程
def keyvalues(self):
for i in range(self.__num):
inp = input()
index = int(inp.split()[0])
value = int(inp.split()[1])
if index in self.__key_values.keys():
self.__key_values[index] = self.__key_values[index] + value
else:
self.__key_values.update({index:value})
#打印出结果
def in_print(self):
for i in sorted(self.__key_values.keys()):
print(str(i)+ " "+ str(self.__key_values[i]))
enter = enter_values()
enter.numbers()
enter.keyvalues()
enter.in_print()
#输入键值对个数 n = int(input()) l1 = [] l2 = [] #键值分别出存在l1和l2中 for i in range(n): a,b=input().split() a = int(a) b = int(b) #如果键重复,则对应的值做加法运算 if a in l1: d = l1.index(a) l2[d] += b else: l1.append(a) l2.append(b) #将新的键值对合并到新的列表l中,排序后输出 l = list(zip(l1,l2)) l.sort() for each in l: print(each[0],each[1])
while True:
try:
n = int(input())
dic = {}
for i in range(n):
content = input().split(' ')
if content[0] in dic:
dic[content[0]] = str(int(dic[content[0]]) + int(content[-1]))
else:
dic[content[0]] = content[-1]
dic = dict(sorted(dic.items(),key=lambda x:int(x[0])))
for key in dic:
print(key,dic[key])
except:
break def merge_records(records):
b = records.split(' ')
b[0] = int(b[0])
if b[0] in map:
map[b[0]] += int(b[1])
else:
map[b[0]] = int(b[1])
map = {}
while True:
try:
a = int(input())
for i in range(a):
merge_records(input())
sorted_map = sorted(map.items(), key=lambda x:x[0])
for i in range(len(sorted_map)):
print(str(sorted_map[i][0]) + ' ' + str(sorted_map[i][1]))
map = {}
except EOFError:
break n = int(input())#键值对的个数
dict = {}
#循环输入键值对,并依次传入字典
for i in range(n):
num = input().split()
key = int(num[0])
value = int(num[1])
dict[key] = dict.get(key,0)+value#传入字典时,相同键对应的值相加
#输出字典中键和值
for k,v in sorted(dict.items()):#排序,默认按键升序
print(k, v) for k,v in sorted(dict.items(),key=lambda item:item[1]): print(k, v)
a = int(input())
mydist={}
for i in range(a):
b = input().split(" ")
key,value=b[0],int(b[-1])
if key in mydist.keys():
mydist[key] = value+mydist[key]
else:
mydist[key] = value
for k in sorted(list(map(int,mydist.keys()))):
print(k.__str__()+" "+mydist[str(k)].__str__())