Вот способ сохранить массивы как dict, но не как list
(потому что сохранение его как списка объединяет все массивы в один, который нам не нужен), а затем загружает его для чтения без потеря формата массива.
# sample array to work with
In [76]: arr = np.arange(12).reshape(4, 3)
# make a dict of say 4 copies of the array
In [77]: dict_of_arrs = {idx: arr for idx in range(4)}
# serialize it to disk; will be saved as `serialized_arrays.npy`
In [78]: np.save('serialized_arrays', dict_of_arrs)
# load it back for reading/processing
In [79]: loaded_arrs = np.load('serialized_arrays.npy')
# flatten it out and just take the 0th element in the list.
In [80]: loaded_arrs.ravel()[0]
Out[80]:
{0: array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]]), 1: array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]]), 2: array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]]), 3: array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])}
Выше вернется дикт; Затем вы можете перебрать этот dict и получить доступ к массивам. Если вы предпочитаете, вы можете дать некоторые разумные ключи при создании dict dict_of_arrs
.