python3 字典合并问题?

a = {'頁 1': 'K4D156793-0-0001.jpg', '頁 2': 'K4D156793-0-0002.jpg'}
b = {'頁 1': 'a0F', '頁 2': '1eD'}

c= {'K4D156793-0-0001.jpg':'a0F','K4D156793-0-0002.jpg':'1eD'}

for k,v in a.items():
    for kk,vv in b.items():
        if k == kk:
            c = {v:vv}
            c.update(c)
print(c) //输出结果:{'K4D156793-0-0002.jpg': '1eD'}不是我想要

我想实现:

a = {'頁 1': 'K4D156793-0-0001.jpg', '頁 2': 'K4D156793-0-0002.jpg'}
b = {'頁 1': 'a0F', '頁 2': '1eD'}

输出结果:

c= {'K4D156793-0-0001.jpg':'a0F','K4D156793-0-0002.jpg':'1eD'}
阅读 1.5k
2 个回答
            // c = {v:vv}
            // c.update(c)
            c.update({v:vv})
           // 或者: c[v] = vv

可以使用字典中的key in的用法, 用列表解析式一行写出来也挺清晰的.

>>> {a[key]:b[key] for key in b if key in a}

{'K4D156793-0-0001.jpg': 'a0F', 'K4D156793-0-0002.jpg': '1eD'}