【发布时间】:2020-05-14 10:41:12
【问题描述】:
尝试编写代码将图形表示从邻接列表转换为邻接矩阵。
该函数应输入邻接表adj_list = [[1,2],[2],[],[0,1]]并输出二进制矩阵
adj_mat = [0. 1. 1. 0]
[0. 0. 1. 0.]
[0. 0. 0. 0.]
[1. 1. 0. 0.]
但是运行代码
def adj_list_to_matrix(adj_list):
n = len(adj_list)
adj_matrix = np.nan * np.ones((n,n))
np.fill_diagonal(adj_matrix,0)
for i in range(n):
for j, w in adj_list[i]:
adj_matrix[i,j] = w
return adj_matrix
产生错误信息
for j, w in adj_list[i]:
TypeError: cannot unpack non-iterable int object
谁能帮助解决这个问题以获得有效的代码?
【问题讨论】:
标签: python function adjacency-matrix adjacency-list