由于巧妙地用到了sorted函数,所以记录一下。
d1=eval(input())
d2=eval(input())
d3={}
for i in d1:
d3[i]=d1[i]+d2.get(i,0)
for i in d2:
if i not in d3.keys():
d3[i]=d2[i]
d3=str(dict(sorted(d3.items(),key=lambda x:x[0] if type(x[0])==int else ord(x[0]))))
d3=d3.replace(' ','')
d3=d3.replace("'",'"')
print(d3)
将两个字典合并其实挺简单的,但难点就在于他的输出格式。
d3=str(dict(sorted(d3.items(),key=lambda x:x[0] if type(x[0])==int else ord(x[0]))))
依旧是使用sorted函数的key排序,但加了一个判断语句。如果是整型那一切OK,如果不是就将其转化成ascll码。用ord函数,转化后也是整数,所以就符合题意的输出顺序。然后再变成一个字符串。后面就是去空格,然后再把单引号换成双引号。