本文已参与「新人创作礼」活动,一起开启掘金创作之路。
输入用字符串表示两个字典,输出合并后的字典,字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!
在一行中输出合并的字典,输出按字典序。"1"的ASCII吗为49,大于1,排序时1在前,"1"在后,其它的也一样。
字典合并(难度:中等)
比如:
第一行输入:{"1":3,1:4}
第二行输入:{"a":5,"1":6}
输出:{1:4,"1":9,"a":5}
示例代码:
d1 = eval(input("请输入第一行:"))
d2 = eval(input("请输入第二行:"))
d3 = {}
c = 0
for i in d1:
if i in d2:
d2[i] += d1[i]
else:
d2[i] = d1[i]
for k in d2:
if type(k) == type("a"):
d3[ord(k)] = 0
if type(k) == type(1):
d3[k] = 1
print('{', end='')
for j in sorted(d3):
c += 1
if d3[j] == 0:
print('"{}":{}'.format(chr(j), d2[chr(j)]), end='')
if d3[j] == 1:
print('{}:{}'.format(j, d2[j]), end='')
if c < len(d3):
print(',', end='')
print('}')