Какой самый простой способ построить 2D матрицу, используя вектор строки? - PullRequest
0 голосов
/ 19 мая 2019

Мне нужно построить 2D-матрицу, зная вектор строки.Как проще всего построить эту матрицу?

Matrix A

import numpy as np

a = [1,2,3]
A = np.zeros(3,3)
for i in range(0,3):
    A[i][:]= a[i:3]

1 Ответ

0 голосов
/ 19 мая 2019

Используя a[i+1:i+2] + b[:-1] Я перемещаю все элементы вправо (в b) и добавляю новый элемент из оригинального a в начале

a = [0,1,2,3]

A = []

b = a[:] # first row without changes
for i in range(len(a)):
    print(b)
    A.append(b)
    b = a[i+1:i+2] + b[:-1] # in next row move right and add new element at the beginning 

print(A)

Результат:

[0, 1, 2, 3]
[1, 0, 1, 2]
[2, 1, 0, 1]
[3, 2, 1, 0]
...