我正在做一些索引和內存是足夠的,但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