Как построить матрицу (ndarray), если у меня есть словарь, в котором говорится о левом, правом, верхнем и нижнем краях каждого элемента? - PullRequest
0 голосов
/ 28 июня 2019

(Это больше похоже на вопрос об алгоритме tbh) Я хочу построить матрицу размером n * m (N, M - что-то вроде 130 * 100).У меня есть словарь, который говорит мне влево, вправо, вверх, вниз каждого элемента.Как мне построить матрицу на основе этого?

sampleDictionary = 
{
    (0,0): {'up': (0,1), 'down':None, 'right': (1,0), 'left': None},
    (1,1): {'up': (1,2), 'down': (1,0), 'right': (2,1), 'left': (0,1)}
    # etc......

}

# this is only an example, in the real the items are not tuples but objects so there is no coordinates for them 

1 Ответ

0 голосов
/ 28 июня 2019

Это просто простая петля, если я не понял вас неправильно, я думаю, вы должны закончить самостоятельно.

dict = {}
for i in range(N):
    for j in range(M):
        up = (i, j+1) if j<N-1 else None
        down = (i, j-1) if j>0 else None
        left = (i-1, j) if j>0 else None
        right = (i+1, j) if j<M-1 else None
        dict[(i, j)] = {'up':up, 'left':left, 'down':down, 'right':right}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...