Есть ли для меня лучший способ создать * n матрицу следующим образом?единственный способ, которым я могу придумать, - это создать список * n размеров и портировать их в подсписок n размеров, а затем применить к numpy.Но все шаги кажутся избыточными
import numpy as np n = 5 num = range(0, n*n) num = [list(num[i:i+n]) for i in range(0, n*n, n)] x = np.array([i for i in num], np.int32) #=> [[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19] # [20 21 22 23 24]]
Используйте np.arange для генерации последовательности, а затем reshape:
np.arange
reshape
import numpy as np np.arange(n * n).reshape(n, n) #array([[ 0, 1, 2, 3, 4], # [ 5, 6, 7, 8, 9], # [10, 11, 12, 13, 14], # [15, 16, 17, 18, 19], # [20, 21, 22, 23, 24]])