Добавление границы 1 в список в Python

import numpy as np     
s=[[0, 0, 0, 0,0,0,0,0], [1, 1, 1, 1, 1,1,1, 0],[1, 1, 1, 1, 1,1,1, 0],[1,0,0,0,0,1,1,0], 
[0,1,1,1,0,0,0,0],[0,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0, 0, 0, 0, 0, 0,0,0,0]]
k=np.pad(s,((1,1),(1,1)),mode='constant',constant_values=1)

ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (2,2) and requested shape (1,2)

Я хочу заполнить матрицу границей 1, но появляется эта ошибка

любая помощь приветствуется

1 ответ

Решение

Вы должны предоставить правильную матрицу ввода! Длина последнего рядаs равно 9, а все остальные длины - 8.

Вот ваша нынешняя "матрица". Это явно неправильно!

s = [[0, 0, 0, 0, 0, 0, 0, 0],
     [1, 1, 1, 1, 1, 1, 1, 0],
     [1, 1, 1, 1, 1, 1, 1, 0],
     [1, 0, 0, 0, 0, 1, 1, 0],
     [0, 1, 1, 1, 0, 0, 0, 0],
     [0, 1, 1, 1, 1, 1, 1, 1],
     [0, 1, 1, 1, 1, 1, 1, 1],
     [0, 0, 0, 0, 0, 0, 0, 0, 0]]
Другие вопросы по тегам