7-1 字典合并
分数 50
作者 陈春晖
单位 浙江大学
输入用字符串表示两个字典,输出合并后的字典。字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!
输入格式:
在第一行中输入第一个字典字符串;
在第二行中输入第二个字典字符串。
输出格式:
在一行中输出合并的字典,输出按字典序。
"1" 的 ASCII 码为 49,大于 1,排序时 1 在前,"1" 在后。其它的字符同理。
输入样例1:
在这里给出一组输入。例如:
{1:3,2:5}
{1:5,3:7}
输出样例1:
在这里给出相应的输出。例如:
{1:8,2:5,3:7}
输入样例2:
在这里给出一组输入。例如:
{"1":3,1:4}
{"a":5,"1":6}
输出样例2:
在这里给出相应的输出。例如:
{1:4,"1":9,"a":5}
a=eval(input())
b=eval(input())
list1=[]
list2=[]
dic={}
for i in a:
dic[i]=a.get(i)
if type(i)==type(1):
list1.append(i)
else:
list2.append(i)
for i in b:
dic[i]=dic.get(i,0)+b.get(i,0)
if type(i)==type(1):
list1.append(i)
else:
list2.append(i)
list1.sort()
list2.sort()
listz=list1+list2
print("{",end="")
c=0
d=len(dic)
for i in listz:
if i in dic:
c=c+1
if type(i)==type(1):
print(f"{i}:{dic[i]}",end="")
else:
print(f'"{i}":{dic[i]}',end="")
del dic[i]
if c!=d:
print(",",end="")
print("}")
部分正确,怎么改,一共50分,得了40,最后一个测试的没对
输出按字典序
也就是说,你搞两个list排序完全叫画蛇添足
直接循环字典2,判断如果键值在字典1里存在,相加,如果不存在,add