Код: Выделить всё
def fill_dict_cubes(
length: np.ndarray,
width: np.ndarray,
height: np.ndarray,
) -> np.ndarray:
numObjects, numFrames = length.shape
cubePrimitives = np.empty((numObjects, numFrames), dtype=object)
for objIdx in range(numObjects):
for frameIdx in range(numFrames):
cubeDict = {
"length": length[objIdx, frameIdx],
"width": width[objIdx, frameIdx],
"height": height[objIdx, frameIdx],
}
cubePrimitives[objIdx, frameIdx] = cubeDict
return cubePrimitives
Поскольку у меня большое количество кубов, а также много кадров, заполнение всех этих словарей с использованием вложенных циклов for занимает довольно много времени. К сожалению, я пока не смог найти хороший способ сделать это быстрее с помощью векторизации/мультиобработки/параллелизации/и т. д.
Есть ли у кого-нибудь умная идея, как можно ускорить создание этих диктовок? Кстати, я использую Python 3.10, но обновление до 3.13 не составит проблем, если потребуются новые функции.
Подробнее здесь: https://stackoverflow.com/questions/792 ... put-arrays