一個新的字典,我有以下字典:創建基於舊字典
abc = {"type":"insecure","id":"1","name":"peter"}
我想要做的是基於舊字典中沒有鑰匙「型」有一個新的字典和「ID」鍵被改變爲「身份」。新字典將如下所示:
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」大得多並且有很多值,那麼我的解決方案仍然是高效和快速的。
我想知道你的解決方案中的一件事。在解決方案中執行以下操作是一個好主意嗎? black_list = {「type」}不會比列表更好嗎? – hjelpmig 2013-05-10 10:52:30
@ yasra002不,在列表中搜索需要'O(N)'時間,而集合需要'O(1)'時間。 – 2013-05-10 10:54:37