Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中相邻节点的和权重_Python_Networking_Weighted - Fatal编程技术网

python中相邻节点的和权重

python中相邻节点的和权重,python,networking,weighted,Python,Networking,Weighted,我需要求一个邻居节点的总权重之和。例如,我有一个节点(1),它的邻居是(2)和(4)。其边具有权重:(1-2,权重=3)和(1-4,权重=5)。然后,我需要求和权重(8)的结果 我试过: sum_tot = [] for neigh in G.neighbors(1): sum_tot.append(G[1][neigh]['weight']) sum(sum_tot) 但结果是0 有什么关于python编程的想法吗?我对python非常陌生,但您的问题似乎应该用n个节点的nxn矩阵来

我需要求一个邻居节点的总权重之和。例如,我有一个节点(1),它的邻居是(2)和(4)。其边具有权重:(1-2,权重=3)和(1-4,权重=5)。然后,我需要求和权重(8)的结果

我试过:

sum_tot = []
for neigh in G.neighbors(1):
    sum_tot.append(G[1][neigh]['weight'])
sum(sum_tot)
但结果是0
有什么关于python编程的想法吗?

我对python非常陌生,但您的问题似乎应该用n个节点的nxn矩阵来表示。让矩阵中的每个条目表示列中每个节点与行中每个节点之间的权重。因此,在该位置用3表示节点1到2之间的距离。现在,Python没有数组,但您可以使用列表来实现这一点

将此列表初始化为0后,可以分配如下内容:

network[1][2]=3
network[2][1]=3
network[1][4]=5
network[4][1]=5
通过遍历矩阵,从节点行开始,然后将节点行与列切换,然后重试,编写行和列操作以添加权重。如果您在上一次迭代中找不到其他连接,那么您就到了终点,需要从一个新节点开始并重复该过程。我会对每一行进行迭代,并打印出一个节点表和权重总和。希望这能给你一些想法


希望我回答了你的问题。我是数学家,但对Python是个业余爱好者

发帖前请阅读。Python库NetworkX是处理图形的标准工具,无需通过直接处理邻接矩阵来重新创建它。@bro-谢谢,我将在以后的回答中记住这一点。