Эффективно найти соседние записи в матрице [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Эффективно найти соседние записи в матрице [закрыто]

Сообщение Anonymous »

Учитывая матрицу Python (или может быть представлена в качестве списка, как я знаю количество рядов и столбцов)
Я ищу эффективный способ найти список всех соседних записей данного элемента.
Я могу сделать это с итерацией, проходя все соседние места (кроме, выше, под и в диагональном уровне, но я смотрю на себя и в более эффективном. /> Пример:
Указано матрицу 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
Таким образом, результат, который я ищу, IS (3, 2), потому что есть 3 соседних элемента горизонтально ((10,9), (10,10), (10,11)) и 2 в диагонали ((10,10), (11,11))
Я не знаю, не знают ли Numpy, Pandas или любой другой, построенный. /> Есть идеи? < /p>
edit1:
0 в матрице означает: нет значения
1 в матрице означает значение (запись)
Так что я ищу все соседние значения «1» в ряду (горизонтальный, вертикальный или диагональный). основание). Я ищу сумму синего и сумму красного: < /p>
Могут быть и другие значения в других местах в матрице, но поскольку они не находятся непосредственно примыкают к набору моей основы, они не имеют отношения к нашему расчету < /p>
edit2:
ok. Подумайте о некой игре Tic-Tac-Toe, но в пределах практически неограниченной панели панели и с практически неограниченными возможностями входа в ряд, и только с одним игроком.
Входные данные идут случайным образом, и на каждом входном событии я должен проверить, сколько записей я включаю новый в ряд (горизонтально, вертикально или в диагональном), основанный на последнем входном примере. и появилась новая запись (10,10). Теперь на основе этой новой записи я должен проверить количество соседей подряд. В моем примере у меня есть 3 горизонтали и 2 в диагонали. И, конечно, у меня может быть много записей или рядов в другом месте, но, поскольку они не подключены непосредственно к моему последнему вводу, я не рассматриваю их. Входные данные поступают, мы должны вернуть список соседей (включая сам ввод.
Каждое значение, уже в матрице, но не связано непосредственно с входом, не подсчитывается. < /p>
В качестве примера введенный вход вводится на красный и желтый. Первый диагональ и 5 для второго диагонального


Подробнее здесь: https://stackoverflow.com/questions/797 ... n-a-matrix
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Эффективно найти соседние записи в матрице [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Эффективно найти соседние записи в матрице
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Эффективно найти соседние записи в матрице
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как мне найти соседние узлы, если они не относятся к типу __Entity__? (Нео4Дж)
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как мне найти соседние узлы, если они не относятся к типу __Entity__? (Нео4Дж)
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»