题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
# 合并表记录
# 获取用户输入的键值对的个数n,并转换成int类型
n = int(input())
# 定义一个空字典,用来存放index和value的映射关系
dic = {}
# 用一个循环,从0开始到n结束,依次获取用户输入的index和value值,并转换成int类型
for i in range(n):
# 用split()方法把输入的字符串按照空格分割成两个部分,分别赋值给index和value
index, value = map(int, input().split())
# 判断字典中是否已经有这个index作为键,如果有,就把value加到原来的值上;如果没有,就把这个index和value作为一个键值对添加到字典中
if index in dic:
dic[index] += value
else:
dic[index] = value
# 用sorted()函数对字典的键进行升序排序,并返回一个列表
keys = sorted(dic.keys())
# 用一个循环,遍历这个列表中的每个键,并根据键从字典中取出对应的值,然后用print()函数输出这个键和值,以空格隔开
for key in keys:
print(key, dic[key])
查看3道真题和解析