【发布时间】:2023-03-04 22:43:01
【问题描述】:
我在 python 中有一个对象数组:
meshnodearray = ['MeshNode object', 'MeshNode object', 'MeshNode object', ...]
例如第一个“MeshNode 对象”在哪里:
({'coordinates': (15.08, 273.01, 322.61), 'instanceName': None, 'label': 1})
我需要像这样创建一个坐标数组:
NODEcoo = np.zeros((nnod,3),dtype='float64')
for i in meshnodearray:
NODEcoo[i.label-1,0:] = np.array(i.coordinates)
对于大型数组,这很慢。有没有更有效的方法可以做到这一点,也许没有 for 循环?
【问题讨论】:
-
如果你必须对数组中的所有对象都这样做,那么我看不到其他方法。
-
是的,我需要为所有对象执行此操作。
-
列表推导就可以了。
标签: python arrays multidimensional-array numpy