第五章 7-11 字典合并

# 字典键的类型不同
# 打印时要注意整型的1和字符型的'1'打印出来是一样的,但是程序过程中非常非常要注意,容易看走眼

d1=eval(input())
d2=eval(input())
d_str={}
d_digit={}
for k,v in d1.items():
    if k in d2.keys():
        d2[k] += d1[k]
    else:
        d2[k] = d1[k]
for k in d2.keys():
    if type(k)==int:
        d_digit[k] = d2[k]
    elif type(k)==str:
        d_str[k] = d2[k]
digit_li = sorted(d_digit.items(),key=lambda x:x[0])
str_li = sorted(d_str.items(),key=lambda x:x[0])
dic={k:v for d in [dict(digit_li),dict(str_li)] for k,v in d.items()}

print('{',end='')
count = 0
for key,value in dic.items():
    count += 1
    if type(key)==int:
        print('{}:{}'.format(key,value),end='')
    elif type(key)==str:
        print('"{}":{}'.format(key,value),end='')
    if count != len(dic):
        print(',',end='')
print('}')

你可能感兴趣的:(#)