как организовать вывод цикла (работающего на массиве) в список?

#python #arrays #numpy #for-loop #indexing

Вопрос:

Извините, если я не вижу здесь никакого смысла, я изучаю python всего несколько недель.

(a) я хочу расположить все 4 выходных массива таким образом, чтобы они входили в один большой массив, а затем я могу использовать np.ix_ для размещения каждого из элементов данных этого списка в их соответствующем положении.

np.ix_ выдаст ошибку несоответствия формы, так как p_r принимает только один массив 4 на 4, в то время как я хотел, чтобы они были в одном большом массиве или списке.

Большое Вам спасибо !!

извините, мой код слишком длинный, поэтому я просто публикую образец кода здесь.

  import numpy as np    def transpose():    k = np.zeros((100,100))  p = np.array([[1,-1],[-1,1]])  a =np.arange(1,65)  print(a)    tau = np.array([[ 1, 2, 3, 4],  [ 5, 6, 7, 8]])    for i in range(4):  k[i:i 2,i:i 2] = p  p_r = tau.T.dot(p).dot(tau)  print(p_r)    k[np.ix_(a,a)]= p_r  print(k)      return   print(transpose())   

Комментарии:

1. k представляет собой массив размером (4, 4), в то время np.ix_(a, a) как он больше. Как np.ix_(a, a) предполагается индексировать k ?

2. да, это 4 на 4, но когда цикл запустится , он даст 4 таких массива (4 на 4). Итак, можно ли объединить эти массивы в один большой список из 64, а затем проиндексировать его ?

3. Сделайте alist=[] и сделайте alist.append(k) вместо печати.