我正在做一些索引和内存是足够的,但CPU不是。所以,我有一个巨大的字典,然后一个小字典,我合并成一个更大:最快的方法合并的两个:字典vs列表
big_dict = {"the" : {"1" : 1, "2" : 1, "3" : 1, "4" : 1, "5" : 1}}
smaller_dict = {"the" : {"6" : 1, "7" : 1}}
#after merging
resulting_dict = {"the" : {"1" : 1, "2" : 1, "3" : 1, "4" : 1, "5" : 1, "6" : 1, "7" : 1}}
我的问题是在这两种类型的字典中的值,我应该使用的字典(如上显示)或列表(如下图所示)当我的优先级是尽可能多地使用内存以充分利用我的CPU时?
为了清楚起见,使用列表将如下所示:
big_dict = {"the" : [1, 2, 3, 4, 5]}
smaller_dict = {"the" : [6,7]}
#after merging
resulting_dict = {"the" : [1, 2, 3, 4, 5, 6, 7]}
边注:我使用的是嵌套在一个字典,而不是嵌套在一个字典一组字典的原因是因为JSON不会让我做json.dumps,因为一组不是键/值对,它(就JSON库而言){“a”,“series”,“of”,“keys”}
,在选择使用字典到列表之后,我将如何去实现最高效的CPU合并方法?
我很感激帮助。
会发生什么,如果smaller_dict包含' “中的”[2]'?合并会在big_dict中复制吗? – 2010-05-17 13:26:58
它的设置方式,small_dict不能包含嵌套字典中相同的键或列表中的相同值。 small_dict将永远是独一无二的 – tipu 2010-05-17 13:45:34