Я делаю некоторую индексацию, и памяти достаточно, но CPU нет. Так что у меня есть один огромный словарь, а затем меньший словарь я вливается в большую один:Самый быстрый способ слияния двух: dicts vs lists
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}}
Мой вопрос для значений в обоих dicts, я должен использовать Dict (как показано выше) или список (как показано ниже), когда мой приоритет - использовать как можно больше памяти, чтобы максимально использовать мой процессор?
Для уточнения, используя список будет выглядеть так:
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]}
Side Примечание: Причина я использую Dict вложенной в Словаре, а не набор вложен в Словаре, потому что JSON не будет позвольте мне сделать json.dumps, потому что набор не является пар ключ/значение, это (насколько это касается библиотеки JSON) {«a», «series», «of», «keys»}
Также , после выбора между использованием dict в список, как бы я хотел бы реализовать наиболее эффективные, с точки зрения процессора, способ их слияния?
Я ценю помощь.
Что произойдет, если smaller_dict содержит ' "от": [2]'? Будет ли слияние дублировать его в big_dict или нет? –
Способ, которым он настроен, small_dict не может содержать один и тот же ключ в вложенном dict или том же значении в списке. small_dict всегда будет уникальным – tipu