我试图以最有效(意味着最快)的方式将数组信息转换为列表。
我有一个名为node_map的列表,我希望将其作为字典的键,然后是我想与node_map关联的node_coordinates(node_coords_tmp)的3D数组。
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或不同的形式?感谢。
答案 0 :(得分:5)
尝试理解dict ..
node_coords = { i: (node_coords_tmp[0][ct],
node_coords_tmp[1][ct],
node_coords_tmp[2][ct]) for ct, i in enumerate(node_map) }