Я пытаюсь преобразовать информацию о массиве в список наиболее эффективным (что означает самый быстрый) способ.Что такое эффективный способ преобразования массивов/списков в словари?
У меня есть список, который я называю node_map, который я хочу быть ключом для словаря, а затем 3D-массив node_coordinates (node_coords_tmp), который я хочу связать с node_map.
Node_map выглядит следующим образом:
[1,2,3,4,5]
Node_coords сообщается назад при печати первоначально как:
(<exodus.c_double_Array_8352100 object at 0x2c2d8c0>, <exodus.c_double_Array_8352100 object at 0x2c2d5f0>, <exodus.c_double_Array_8352100 object at 0x2c2d560>)
Изначально я заполнил словарь как это:
for ct,i in enumerate(node_map):
node_coords[i] = [node_coords_tmp[0][ct],node_coords_tmp[1][ct],node_coords_tmp[2][ct]]
Это сделал то, что я но был медленнее, чем хотелось бы для размера массивов, с которыми я имею дело. Есть ли лучший способ сделать это с помощью numpy или другой формы? Благодарю.
Как бы вы представить себе заселение словарь меньше, чем O (п)? Вы должны перебирать каждый элемент. – dimo414
Это будет O (n), но коэффициент может быть значительным в зависимости от конкретного n, с которым работает OP .. –
@dimo Не все алгоритмы с той же логарифмической оценкой выполняются точно в одно и то же время. –