Могу ли я изменить значение матрицы смежности при программировании Python? - PullRequest
0 голосов
/ 02 марта 2020

У меня проблема с моим кодом, я не могу напечатать или изменить значение матрицы смежности, вы можете мне помочь, сэр? у меня есть такой код

for i in range(len(A.todense())):
    for j in A[i].todense()*1:
        print(j)

и вывод

[[0 0 0 0 0 1 1 0]]
[[0 0 0 0 0 0 0 1]]
[[0 0 0 0 0 1 0 0]]
[[0 0 0 0 0 1 0 0]]
[[0 0 0 0 0 0 0 1]]
[[1 0 1 1 0 0 1 0]]
[[1 0 0 0 0 1 0 0]]
[[0 1 0 0 1 0 0 0]]

и я хочу изменить ноль на один или один на ноль, но я не могу печатать или изменять с A.todense () [I] [J]. Можете ли вы помочь мне изменить значение матрицы смежности? Спасибо тебе

1 Ответ

0 голосов
/ 02 марта 2020

Вы не можете изменить значение в матрице смежности, поэтому вам нужно преобразовать в numpy или другой тип массива, который может изменить значение.

Одно решение ниже

A = np.array(A.data)
for i in range(len(A)):
    for j in range(len(A[i])):
        if A[i][j] == 0:
            A[i][j] = 1
        else:
            A[i][j] = 0

Это изменит значения и затем преобразуется в матрицу смежности.

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