第一行输入一个整数
代表数据表的记录数。
此后
行,第
行输入两个整数
代表数据表的第
条记录的索引和数值。
一共若干行(视输入数据变化),第
行输出两个整数,代表合并后数据表中第
条记录的索引和数值。
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__())