如何用另一个字典的键替换一个字典的键?

时间:2020-03-31 08:38:02

标签: python dictionary

我有两个字典dict1和dict2。我想用dict2的键替换dict1的键。 dict1.keys()如下:

dict_keys(['8014.png54523', '7595.png37735', '6659.png50805', '8058.png26143','05324.png31372'])

dict2.keys()如下:

dict_keys(['8014.png671302', '7595.png567733', '6659.png681968', '8058.png442154', '05324.png530138'])

我想要dict2.keys()作为dict1.keys。谁能帮我吗。

谢谢!

2 个答案:

答案 0 :(得分:1)

代码

new_dict = {k2:dict1[k1] for k1, k2 in zip(dict1.keys(), dict2.keys())}

测试

键和虚拟值

keys1 = ['8014.png54523', '7595.png37735', '6659.png50805', '8058.png26143','05324.png31372']
vals1 = list(range(len(keys1)))
keys2 = ['8014.png671302', '7595.png567733', '6659.png681968', '8058.png442154', '05324.png530138']
vals2 = list(range(len(keys1)))

词典

dict1 = dict(zip(keys1, vals1))
dict2 = dict(zip(keys2, vals2))

新词典

# Have each k1, v1 in dict1
# and       k2, v2 from dict2
# new dict uses k2:v1
# where v1 = dict1[k1]
new_dict = {k2:dict1[k1] for k1, k2 in zip(dict1.keys(), dict2.keys())}

print(new_dict)

输出

{'8014.png671302': 0, '7595.png567733': 1, '6659.png681968': 2, '8058.png442154': 3, '05324.png530138': 4}

答案 1 :(得分:0)

您可以尝试以下方法:

new_dict1 = {new_key: dict1[old_key] for old_key, new_key in zip(dict1.keys(), dict2.keys())}
相关问题