Skip to main content
 首页 » 编程设计

python之根据旧字典创建新字典

2025年05月04日11shanyou

我有以下命令:

abc = {"type":"insecure","id":"1","name":"peter"} 

我想做的是根据旧字典创建一个新字典,其中没有键“type”,键“id”更改为“identity”。新的字典将如下所示:

xyz = {"identity":"1","name":"peter"} 

我想出的解决方案如下:

abc = {"type":"insecure","id":"1","name":"peter"} 
xyz = {} 
black_list_values = set(("type","id")) 
for k in abc: 
    if k not in blacklist_values: 
        xyz[k] = abc[k] 
xyz["identity"] = abc["id"] 

我想知道这是不是最快、最有效的方法?现在,“abc”只有三个值。如果“abc”更大并且有很多值,那么我的解决方案仍然是高效和快速的。

请您参考如下方法:

您无论如何都想创建一个新词典。您可以在字典理解中迭代键/值,它更紧凑,但功能相同:

abc = {"type":"insecure","id":"1","name":"peter"} 
 
black_list_values = set(("type","id")) 
 
xyz = {k:v for k,v in abc.iteritems() if k not in black_list_values} 
xyz["identity"] = abc["id"]