Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dictionary 将一个字典中的键替换为另一个字典中的键_Dictionary_Python 3.6_Dictionary Comprehension - Fatal编程技术网

Dictionary 将一个字典中的键替换为另一个字典中的键

Dictionary 将一个字典中的键替换为另一个字典中的键,dictionary,python-3.6,dictionary-comprehension,Dictionary,Python 3.6,Dictionary Comprehension,假设我有两本字典: 第1条: 第2条: *实际的master\u dict要长得多。 基本上,我想将master_dict中的两位键替换为statedict中的长名称键。我该怎么做?我正在尝试使用下面的方法,但效果不太好 for k, v in master_dict.items(): for state, fip in statedict.items(): if k == fip: master_dict[k] = statedict[state] 您

假设我有两本字典:

第1条:

第2条:

*实际的
master\u dict
要长得多。 基本上,我想将
master_dict
中的两位
键替换为
statedict
中的长名称键。我该怎么做?我正在尝试使用下面的方法,但效果不太好

for k, v in master_dict.items():
    for state, fip in statedict.items():
        if k == fip:
        master_dict[k] = statedict[state]

您可以使用字典理解来创建将值映射到键的查找表。第二个字典理解执行查找以用单词替换数字:

lookup = {v: k for k, v in statedict.items()}
result = {lookup[k]: v for k, v in master_dict.items()}
print(result)
输出:

{'Alabama':['01034','01112'],
“加利福尼亚州”:[06245',0602506007'],
'格鲁吉亚':['13145']}
试试看

for k, v in master_dict.items():
    for state, fip in statedict.items():
        if k == fip:
        master_dict[k] = statedict[state]
lookup = {v: k for k, v in statedict.items()}
result = {lookup[k]: v for k, v in master_dict.items()}
print(result)