Я ищу эффективный способ найти список всех соседних записей данного элемента.
Я могу сделать это с итерацией, проходя все соседние места (кроме, выше, под и в диагональном уровне, но я смотрю на себя и в более эффективном. /> Пример:
Указано матрицу 25x25, все элементы инициализируются до 0 < /p>
Код: Выделить всё
DashBoard = [[0 for _ in range(25)] for _ in range(25)]
< /code>
Элемент, который я ищу соседей, расположен по адресу (10,10)
Есть записи по адресу (10,9), (10,11) и (11,11) < /p>
DashBoard[10][10] = 1
DashBoard[10][9] = 1
DashBoard[10][11] = 1
DashBoard[11][11] = 1
Я не знаю, не знают ли Numpy, Pandas или любой другой, построенный. /> Есть идеи? < /p>
edit1:
0 в матрице означает: нет значения
1 в матрице означает значение (запись)
Так что я ищу все соседние значения «1» в ряду (горизонтальный, вертикальный или диагональный). основание). Я ищу сумму синего и сумму красного:
могут быть другие значения для матрикса, но они не подходят, что они не могут быть, они не могут быть, они не подходят, они не могут быть, они не подходят, они не могут быть в других значениях. Наш расчет < /p>
edit2:
ok. Подумайте о некой игре Tic-Tac-Toe, но в пределах практически неограниченной панели панели и с практически неограниченными возможностями входа в ряд, и только с одним игроком.
Входные данные идут случайным образом, и на каждом входном событии я должен проверить, сколько записей я включаю новый в ряд (горизонтально, вертикально или в диагональном), основанный на последнем входном примере. и появилась новая запись (10,10). Теперь на основе этой новой записи я должен проверить количество соседей подряд. В моем примере у меня есть 3 горизонтали и 2 в диагонали. И, конечно, у меня может быть много записей или рядов в другом месте, но, поскольку они не подключены непосредственно к моему последнему входу, я не рассматриваю их.
Я надеюсь, что это поможет понять
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-a-matrix