Формирование многомерного массива из одномерного

Cyril

Новичок
Пользователь
Апр 4, 2021
2
0
1
У меня есть массив а = [1,2,3].
Я бы хотел его преобразовать в [[[1,2,3]]], [[[1]],[[2,]],[[3]]], [[[1],[2],[3]]].
Подскажите, пожалуйста, как это сделать для произвольного одномерного вектора a без использования циклов? Можно с использованием numpy.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Можно сделать с помощью list comprehension например:
Python:
a = [1, 2, 3]
b = [[*a]], [[[x]] for x in a], [[[x] for x in a]]
print(b)
 

Cyril

Новичок
Пользователь
Апр 4, 2021
2
0
1
Можно сделать с помощью list comprehension например:
Python:
a = [1, 2, 3]
b = [[*a]], [[[x]] for x in a], [[[x] for x in a]]
print(b)
Я, наверное, нечётко сформулировал.
Мне нужно преобразовать массив [1,2,3] в массив [[[1],[2],[3]]] (а также в [[[1,2,3]]] и в [[[1]],[[2,]],[[3]]])
Видимо, ответ такой:
import numpy as np
np.array(a).reshape(1,len(a),1)
np.array(a).reshape(1,1,len(a))
np.array(a).reshape(len(a),1,1)
 

Форум IT Специалистов