Создание сетки 10х10 из списка массивов - PullRequest
0 голосов
/ 06 декабря 2018

Я изо всех сил пытаюсь перечислить свой массив как сетку 10x10, вывод, который я продолжаю получать, не то, что я ищу.Я надеялся, что кто-нибудь может мне помочь.

import numpy as np

x = 1
y = 1

scale = 10

nn = []

for x in range(1,scale+1):
    mm = []
    for y in range(1,scale+1):
        xy = [x,y]
        mm.append(xy)
        #print(xy)
        y=+1
    nn.append(mm)
    x=+1

nn


grid_array = np.array(nn)

grid=np.meshgrid(grid_array)

Но вывод, который я получаю, не отображается 10x10

[array([ 1,  1,  1,  2,  1,  3,  1,  4,  1,  5,  1,  6,  1,  7,  1,  8,  1,
         9,  1, 10,  2,  1,  2,  2,  2,  3,  2,  4,  2,  5,  2,  6,  2,  7,
         2,  8,  2,  9,  2, 10,  3,  1,  3,  2,  3,  3,  3,  4,  3,  5,  3,
         6,  3,  7,  3,  8,  3,  9,  3, 10,  4,  1,  4,  2,  4,  3,  4,  4,
         4,  5,  4,  6,  4,  7,  4,  8,  4,  9,  4, 10,  5,  1,  5,  2,  5,
         3,  5,  4,  5,  5,  5,  6,  5,  7,  5,  8,  5,  9,  5, 10,  6,  1,
         6,  2,  6,  3,  6,  4,  6,  5,  6,  6,  6,  7,  6,  8,  6,  9,  6,
        10,  7,  1,  7,  2,  7,  3,  7,  4,  7,  5,  7,  6,  7,  7,  7,  8,
         7,  9,  7, 10,  8,  1,  8,  2,  8,  3,  8,  4,  8,  5,  8,  6,  8,
         7,  8,  8,  8,  9,  8, 10,  9,  1,  9,  2,  9,  3,  9,  4,  9,  5,
         9,  6,  9,  7,  9,  8,  9,  9,  9, 10, 10,  1, 10,  2, 10,  3, 10,
         4, 10,  5, 10,  6, 10,  7, 10,  8, 10,  9, 10, 10])]

Отредактировано.

Это то, что у меня естьПока что, спасибо за помощь, ребята.

import numpy as np

scale = 10
array = np.empty(shape=(scale, scale, 2)).astype(int)

for x in range(1,scale+1):
    for y in range(1,scale+1):
        #print([x,y])
        array[x-1,y-1] = [x,y] 

print(array)

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Вы можете использовать numpy для этого.как это

np.reshape(arr, (-1,10))

См. Преобразование 1D массива в 2D массив в numpy

0 голосов
/ 06 декабря 2018

Это довольно далеко не ясно, чего вы хотите достичь, но если вы просто хотите знать, как генерировать массив 10x10 с использованием двух циклов for, вот что вы можете сделать (хотя он не самый питонский способ сделать это):

import numpy as np

scale = 10
array = np.empty(shape=(scale, scale))

for x in range(scale):
    for y in range(scale):
        array[x,y] = 42 # replace with whatever dynamically assigned value you want there    

print(array)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...